我想在我的pixelshader中輸出每個像素的實際相機距離。這意味着,結果應該(除了精度和夾緊的一些細微變化之外)不依賴於近/遠剪切平面。因此,因爲近平面中間的像素比邊界上的像素更接近相機,所以恰好位於近平面(並平行於它)的平面應該不會輸出均勻的結果。CG/GLSL如何計算每個像素的相機距離?
如何計算像素着色器中每個像素的實際相機距離? (實際着色語言無所謂)
我想在我的pixelshader中輸出每個像素的實際相機距離。這意味着,結果應該(除了精度和夾緊的一些細微變化之外)不依賴於近/遠剪切平面。因此,因爲近平面中間的像素比邊界上的像素更接近相機,所以恰好位於近平面(並平行於它)的平面應該不會輸出均勻的結果。CG/GLSL如何計算每個像素的相機距離?
如何計算像素着色器中每個像素的實際相機距離? (實際着色語言無所謂)
下面是CG http://developer.download.nvidia.com/shaderlibrary/packages/DepthColor.cgfx.zip
它設置爲FX Composer的樣本,應該是微不足道採取任何其他格式。
你發送的相機位置是統一的。 您將該位置發送給片段着色器。 您可以使用這些矢量的內置距離函數。
It looks like this,但是如果你不需要它,不用費心將它複製到.w。
或者,將頂點位置乘以ModelView矩陣,並在其上使用length()。