glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
并在片段着色器中使用它。
我已经使用 Alpha 混合来获得透明度,但它似乎只在一侧起作用。
不确定是什么问题,我是编程和着色方面的新手。
最佳答案
我认为您看到 2 个远方的面孔在颜色较深的地方融合在一起。
也许剔除没有激活。
人脸剔除是在一定条件下丢弃人脸绘制的能力。
为了达到你想要的效果,你必须丢弃不面向相机的面孔,即调用 backface culling .你这样做:
glEnableGL(GL_CULL_FACE); //(enable face culling)
glCullFace(GL_BACK); //(discard back faces)
关于c++ - 着色器透明度不适用于一半,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22611659/