与阿尔法通道的纹理包括背景对象

时间:2013-04-14 14:53:33

标签: c++ opengl glsl

在我的引擎上实现广告牌对象时遇到了问题(下面的截图)

enter image description here

你可以看到广告牌对象涵盖了背景中的所有内容(天空盒似乎是一个例外)。这并不是我希望它如何工作。我不知道问题出在哪里。

我的片段着色器非常简单:

#version 330

uniform sampler2D tex;

in vec2 TexCoord;
out vec4 FragColor;

void main()
{
    FragColor = texture2D(tex, TexCoord);
}

,广告牌只是几何着色器中的三角形条。

所有想法都会很好。

1 个答案:

答案 0 :(得分:2)

可能绘制订单问题,您需要先绘制不透明对象,然后再将alpha混合对象绘制回前面。或者,您可以启用Alpha测试,或者在着色器中丢弃片段,如果它们的alpha低于某个阈值。