원근감 올바른 보간을 비활성화하는 시점 (noperspective)


13

GLSL에서 정점 속성의 원근법 올바른 보간이 기본 설정 입니다. noperspective 한정자 를 사용하여 특정 정점 속성에 대해이를 비활성화 할 수 있습니다 . 사후 처리 셰이더를 제외하고는 원근법 올바른 보간이 비활성화 된 것을 본 적이 없습니다. 다른 사용 사례가 있습니까? 또한 성능 측면에서도 차이가 있습니까?

답변:


15

사용 사례는 상상력에 의해서만 제한됩니다! noperspective삼각형이 화면 표면에서 완전히 평평한 것처럼 속성이 삼각형을 가로 질러 보간됨을 의미합니다. 앤티 앨리어싱 된 와이어 프레임 렌더링 을 다음과 같이 수행 할 수 있습니다 . 화면 공간 거리를 가장 가까운 가장자리까지 noperspective변화시켜 픽셀 쉐이더에서 적용 범위로 사용합니다.

또는 비 사실적 렌더링을 수행하고 하프 톤 과 같은 화면 공간에서 패턴을 원하는 경우 noperspective텍스처링에 사용되는 UV를 활성화 할 수 있습니다 .

성능 차이가 있습니까? 아마, 그러나 당신은 아마 눈에 띄지 않을 것입니다 (낮은 강력한 그래픽 하드웨어를 제외하고). 대부분의 GPU는 병렬로 실행되는 일련의 파이프 라인 단계로 구성되며 어떤 의미에서는 가장 비싼 단계의 비용 만 지불합니다. 래스터 화가 가장 제한적인 부분이라면 픽셀 당 건너 뛴 부분과 차이가있을 수 있습니다. 그림자 맵이나 깊이 프리 패스를 렌더링 할 때 가장 가능성이 높지만 보간 할 속성이 가장 적습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.