我已经设法使用
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/