【发布时间】:2011-07-04 13:33:59
【问题描述】:
我试图在一个不透明的笼子里画一个透明的物体,但无论我怎么尝试都做不到。
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();
这使得里面的透明对象出现在前面,尽管它在里面。
我做错了什么,可能与我正在使用的着色器有关
【问题讨论】:
-
如果这是C代码,添加适当的标签。
-
一张照片确实不错。
-
“不透明物体中的透明物体”让我什么...?直到我读到不透明物体是笼子。 :)
-
@henryprescott:这个问题有什么进展吗?你让它工作了吗?
标签: c++ opengl programming-languages transparency