我想在pixel像素中输出每像素的实际相机距离。这意味着,结果应该(除了精度和钳位的一些微小变化)不依赖于近/远剪切平面。
此外,准确地位于近平面(并与其平行)的平面因此不应输出均匀的结果,因为近平面中间的像素比边界上的像素更靠近相机。
如何计算像素着色器中每个像素的实际相机距离? (实际着色器语言无关紧要)
答案 0 :(得分:-3)
你发送的相机位置是统一的。 您将位置发送到片段着色器中。 您可以使用带有这些向量的内置距离函数。
It looks like this,但如果你不需要,请不要用.w过分复杂。
或者,将顶点位置乘以ModelView矩阵,并在其上使用length()。
答案 1 :(得分:-4)
以下是Cg http://developer.download.nvidia.com/shaderlibrary/packages/DepthColor.cgfx.zip
中的示例这是FX Composer的设置,对于任何其他格式都应该是微不足道的。