我已经成功地使用了一个透明的立方体
glDisable(GL_DEPTH_TEST);
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA,GL_ONE_MINUS_SRC_ALPHA);
在 shader.frag 中:
gl_FragColor = vec4(texture2D(TextureMap_uniform, uv).xyz,0.5);
但现在我希望我在透明立方体上方移动的实体模型是不透明的(此时透明度应用于所有内容)。谁能指出我正确的方向?
最佳答案
你们使用的是同一个着色器吗? 如果是,那么您需要将有关每个对象的不透明度的信息传递给您的着色器。 一种简单的方法是使用统一变量。
检查这些链接:
https://www.khronos.org/opengl/wiki/Uniform_(GLSL) https://www.khronos.org/opengl/wiki/GLAPI/glUniform
关于c++ - 仅对某些对象透明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56076839/