我有一个简单的片段着色在WebGL2中使用,输出不同的颜色到两个不同的纹理目标。如何将gl_fragDepth值写入第三个(深度)纹理目标(位置= 2)?
#version 300 es
precision mediump float;
layout(location = 0) out vec4 fragColor1;
layout(location = 1) out vec4 fragColor2;
void main(void) {
fragColor1 = vec4(1.0, 0.0, 0.0, 1.0); // printf of WebGL :)
fragColor2 = vec4(1.0, 0.0, 0.0, 1.0);
}发布于 2017-04-21 09:51:39
每个片段只能输出一个真正的深度值,但听起来还没有这样做,所以您所需要做的就是将一个DEPTH_ATTACHMENT附加到框架缓冲区中,然后在片段着色器中写入gl_FragDepth。
https://stackoverflow.com/questions/43523137
复制相似问题