2014-03-24 59 views
0
glEnable (GL_BLEND); 
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA); 

并在片段着色器中使用它。Shader透明度不能用于一半

我已经使用阿尔法混合来获得透明度工作,但它似乎只能从一侧工作。

不确定问题出在哪里,对编程和着色很陌生。

http://imgur.com/WDK4qjc链接查看图片

回答

1

我想你看到远处的2面混合,其中颜色较暗。

也许剔除未激活。

脸部剔除是在某些条件下丢弃脸部图画的能力。

要达到您想要的效果,您必须丢弃不面向相机的面部,即backface culling。你这样做:

glEnableGL(GL_CULL_FACE); //(enable face culling) 
glCullFace(GL_BACK);  //(discard back faces)