我正在编写一个WebGL 3D应用程序,需要提供包含在纹理中的自己的深度数据。我的当前代码如下:
顶点着色器:
FS:
然而,在OpenGL-ES(因此也在WebGL)中,
顶点着色器:
varying vec2 vUv;
void main() {
vUv = uv;
}
FS:
uniform sampler2D depthTex;
varying vec2 vUv;
void main() {
gl_FragDepth = texture2D(depthTex, vUv).r;
}
然而,在OpenGL-ES(因此也在WebGL)中,
gl_FragDepth
被禁用了,有没有任何方法可以启用它,或者提供自己的深度数据,而不涉及渲染目标的大量操作?