我正试图在一个不透明的笼子里面画一个透明的物体,但是我似乎试着尝试一下我无法做到这一点。
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glClearColor( 0.0f, 0.0f, 0.0f, 0.0f );
glDisable(GL_BLEND);
glEnable(GL_DEPTH_TEST);
glEnable(GL_CULL_FACE);
glCullFace(GL_BACK);
glColor4f(1.0, 1.0, 1.0, 1.0);
drawCage();
glEnable(GL_BLEND);
glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
glColor4f(0.0, 0.0, 0.0, 0.5);
drawObject();
glPopAttrib();
这使透明物体出现在它的前面,尽管它在里面。
我做错了什么,可能与我正在使用的着色器有关
答案 0 :(得分:1)
一些事情。
希望有所帮助
答案 1 :(得分:0)
然后您的透明度没有问题。如果您启用了深度测试,并且您的对象出现在另一个对象的前面,那么您的几何图形或绘图程序中都会出现问题。可能是一百万件事,尝试先禁用剔除,看看会发生什么。
另一方面,您尝试使用具有1.0f alpha的常量颜色渲染透明对象。这意味着完全不透明。你确定吗?