非规范化深度值

时间:2015-06-17 14:31:38

标签: opengl-es webgl depth

我目前在片段着色器中使用以下代码来显示深度图像。我从中得到的值是标准化的。我用readpixels读了它们。但我目前需要原始值而不规范化。我可以采用我所拥有的顶点位置并手动乘以MVMatrix但是有更简单的方法来提取它吗?

if (vIsDepth > 0.5)
        {
            float z = position_1.z;
            float n = 1.0;
            float f = 20.0;
            float ndcDepth = (2.0 * z - n - f)/(f - n); 

            float clipDepth = ndcDepth /position_1.w;
            float cr = ((clipDepth*0.5)+0.5);
            gl_FragColor = vec4(cr,cr,cr,1.0);
        }   

0 个答案:

没有答案