使用C ++和GLSL在OpenGL中我想做什么: 当纹理具有alpha(texture.a!= 1.0;)时,此像素不会写入深度缓冲区。 (对于颜色缓冲区,它是写的) 写入深度仅在像素texture.a == 1.0;
时出现在着色器中丢弃不是解决方案 - 然后此像素不会写入颜色缓冲区。
有什么想法吗?
@UPDATE: 示例:我有一些OpenGL渲染的UI图像。他们中的一些人在角落里有阿尔法。 在场景渲染中,我有“深度预通过”以通过不计算它们上的光来节省一些像素。 我想要将UI图像添加到预处理 - 但只有完全不透明的像素(alpha = 1.0)。