【发布时间】:2012-11-08 20:55:34
【问题描述】:
我在使用模板缓冲区时遇到了问题,它似乎归结为根本不起作用。 给定以下代码:
glEnable(GL_STENCIL_TEST);
glClearStencil(0);
glClear(GL_STENCIL_BUFFER_BIT | GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glColor4f(1, 1, 1, 1);
glStencilFuncSeparate(GL_FRONT_AND_BACK, GL_NEVER, 0, 0);
glStencilOpSeparate(GL_FRONT_AND_BACK, GL_INCR, GL_INCR, GL_INCR);
glBegin(GL_TRIANGLES);
{ draw something }
glEnd();
三角形还在画!?我在这里错过了一些琐碎的事情吗?
注意: 我没有渲染到帧缓冲区,我使用的是 glStencil...Separate 只是为了确保它与正面\背面无关,我保留了一些对我来说似乎不相关的代码。
【问题讨论】:
-
"我没有渲染到帧缓冲区" 那你渲染到什么?
-
我的意思是,我直接渲染到屏幕上,即没有帧缓冲对象被激活。
-
你在哪里清除其他缓冲区?
-
@NicolBolas:它们已被清除(更新代码并重新测试)
标签: opengl stencil-buffer