gpt4 book ai didi

WebGL:纹理中的零 alpha 像素一定会更新深度缓冲区吗?

转载 作者:行者123 更新时间:2023-12-04 17:37:57 25 4
gpt4 key购买 nike

我正在尝试渲染一个混合了完全透明像素和完全不透明像素的纹理。似乎我唯一的选择是按距离从后到前渲染它们(毕竟是完全不透明的多边形),因为即使是完全透明的像素也会更新深度缓冲区,但我不确定这是否准确。是吗?

似乎可以告诉片段着色器将深度缓冲区单独留给透明像素,但显然不是。我错过了什么吗?

除了许多我没有想到的多边形之外,还有其他一些明智的方法来渲染高度不规则形状的图像吗?

最佳答案

既然问了这个问题,我似乎至少找到了一个答案。 discard片段着色器中的语句似乎满足了我的需要:

void main(void) {
vec4 textureColor = texture2D(uSampler, vTextureCoord);
if (textureColor.a < 0.5)
discard;
else
gl_FragColor = vec4(textureColor.rgb * vLighting, textureColor.a);
}

关于WebGL:纹理中的零 alpha 像素一定会更新深度缓冲区吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12335284/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com