C++ 着色器透明度不使用一半

C++ 着色器透明度不使用一半,c++,opengl,glsl,fragment-shader,alphablending,C++,Opengl,Glsl,Fragment Shader,Alphablending,并在片段着色器中使用了它 我用Alpha混合让透明度工作,但它似乎只从一侧工作 不确定问题出在哪里,我对编程和着色还不熟悉 链接查看图片一切正常。它叫 更多信息: 我想你会看到两张遥远的脸在颜色较深的地方混合在一起 可能没有激活剔除 面剔除是在特定条件下丢弃面图形的能力 为了达到你想要的效果,你必须丢弃不面对相机的面,这就是所谓的。您可以这样做: glEnable (GL_BLEND); glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);

并在片段着色器中使用了它

我用Alpha混合让透明度工作,但它似乎只从一侧工作

不确定问题出在哪里,我对编程和着色还不熟悉


链接查看图片

一切正常。它叫

更多信息:




我想你会看到两张遥远的脸在颜色较深的地方混合在一起

可能没有激活剔除

面剔除是在特定条件下丢弃面图形的能力

为了达到你想要的效果,你必须丢弃不面对相机的面,这就是所谓的。您可以这样做:

glEnable (GL_BLEND);
glBlendFunc (GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glEnableGL(GL_CULL_FACE);  //(enable face culling)
glCullFace(GL_BACK);       //(discard back faces)