2012-12-28 1 views
0

픽셀 당 실제 카메라 거리를 픽셀 쉐이더에 출력하고 싶습니다. 즉, 결과는 (정밀도와 클램핑의 약간의 변동을 제외하고) 근거리/원거리 클리핑면에 의존하지 않아야 함을 의미합니다.CG/GLSL 픽셀 당 카메라 거리를 계산하는 방법은 무엇입니까?

또한 nearplane의 중간에있는 픽셀이 경계의 픽셀보다 카메라에 더 가깝기 때문에 가까운 평면 (평면에 평행 한 평면)에 정확히 놓인 평면은 균일 한 결과를 출력하지 않아야합니다.

픽셀 셰이더에서 각 픽셀의 실제 카메라 거리를 어떻게 계산합니까? (실제 쉐이더 언어는 중요하지 않습니다.)

답변

-3

카메라 위치는 통일적입니다. 위치를 가변적으로 프래그먼트 셰이더에 보냅니다. 내장 벡터와 함께 내장 거리 함수를 사용합니다.

It looks like this 그러나 필요하지 않은 경우 .w로 복잡하게 처리해야합니다.

또는 Vertex 위치에 ModelView 행렬을 곱하고 그 위에 length()를 사용하십시오.

관련 문제