3D 그래픽스 프로그래밍에서 조각이란 무엇입니까?


36

프래그먼트 셰이더의 프래그먼트 란 무엇입니까? Wikipedia는 다음과 같이 말합니다.

일반적으로 조각은 픽셀을 가리는 데 필요한 데이터와 조각이 픽셀이되기 위해 살아남는지 테스트하는 데 필요한 데이터 (깊이, 알파, 스텐실, 가위, 창 ID 등)로 생각할 수 있습니다.

텍스처, 버텍스 또는 다른 것입니까?

답변:


31

컴퓨터 그래픽에서 프래그먼트는 프레임 버퍼에서 단일 픽셀의 드로잉 프리미티브를 생성하는 데 필요한 데이터입니다.

이 데이터에는 다음이 포함되지만 이에 국한되지는 않습니다.

  • 래스터 위치
  • 깊이
  • 보간 된 속성 (색상, 텍스처 좌표 등)
  • 원판
  • 알파
  • 창 ID

장면이 그려지면 드로잉 프리미티브가 조각으로 래스터 화되어 기존 프레임 버퍼와 질감이 결합됩니다. 프래그먼트가 프레임 버퍼에 이미있는 데이터와 결합되는 방법은 다양한 설정에 따라 다릅니다. 전형적인 경우에, 프래그먼트가 이미 그 위치에있는 픽셀 (깊이 버퍼에 따라)보다 멀리 떨어져 있으면 프래그먼트는 폐기 될 수있다. 기존 픽셀보다 가까우면 이미 존재하는 것을 대체하거나 알파 블렌딩을 사용하는 경우 픽셀의 색상이 다음과 같이 조각 색상과 기존 색상의 혼합으로 대체 될 수 있습니다 반투명 오브젝트 그리기

일반적으로 조각은 픽셀을 가리는 데 필요한 데이터와 조각이 픽셀이되기 위해 살아남는지 테스트하는 데 필요한 데이터 (깊이, 알파, 스텐실, 가위, 창 ID 등)로 생각할 수 있습니다.

위키 백과에서


6

조각은 단순히 음영 처리중인 픽셀 주위에 3 개의 정점의 기여로 제공되는 데이터입니다.

정점 셰이더에서는 정점 당 일부 데이터 (색상, 텍스처 좌표 등)를 출력합니다. 그런 다음 Fragment Shader에서 각 픽셀에 대해 해당 값의 가중치 평균을 얻은 다음 픽셀의 최종 색상을 만드는 데 사용합니다.


위에서 언급 한 것처럼 보이지 않는 버퍼의 픽셀 및 기타 모든 데이터
StarWeaver

4

정점 셰이더가 정점에 작용하는 것과 같은 방식으로 조각 (또는 픽셀) 셰이더 는 픽셀에 작용합니다.


죄송합니다. "rastarisation"및 interpolations라는 단어를 언급하지 않으면 올바르지 않습니다.
Notabene

특히 알파에 적용하거나 다른 상황의 수의, AA 렌더링 타겟이 참여하는 멀티 샘플링 할 때, 파편 구별되는 - - 더 나쁜 그것은 픽셀을 말한다 내가 투표를 아래로 나는 담당자했다 것인지
jheriko

4

프래그먼트 셰이더의 프래그먼트 란?

말할 수있는 유일한 것은 조각 쉐이더의 입력과 출력을 정의하는 것입니다.

그것이 이루어 졌거나 너무 광범위하므로 직관적 인 시각적 측면에 중점을 둘 것입니다.

조각은 래스터 출력입니다

OpenGL 위키는 다음과 같이 말합니다.

조각은 래스터 라이저에서 생성 된 값의 모음입니다.

프래그먼트 셰이더 입력을 생성 하는 래스터 라이저 뒤에 온 이후로 의미 있습니다.

그리고 이것은 래스터 라이저 출력의 시각적 표현입니다.

이미지 소스 .

래스터 라이저의 입력은 3D 삼각형과 관점이며 출력은 화면에 나타날 수있는 픽셀 세트입니다 (다른 사람에 의해 차단되지 않은 경우).

(단일 plixel로 부호화된다) 이들 그 작은 사각형은 각각 삼각형의 한 부분이고, 조각 조각에 대한 또 다른 이름이다.


Downvoters, 내용을 배우고 향상시킬 수 있도록 설명하십시오 ;-)
Ciro Santilli 新疆 改造 中心 法轮功 六四 事件

시각적 설명과 혼합 된 최상위 답변의 정보가 가장 좋습니다.
StarWeaver
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.