|
|
再次麻烦下大家。为什么我按教程设置的Stencil模板会失效呢?
问题代码部分如下:
glTranslatef(0.0f, -0.6f, zDist_) ;
glColorMask(0,0,0,0) ;
glEnable(GL_STENCIL_TEST);
glStencilFunc(GL_ALWAYS, 1, 1) ;
glStencilOp(GL_KEEP, GL_KEEP, GL_REPLACE) ;
glDisable(GL_DEPTH_TEST) ;
drawFloor() ; //目的是在模板缓存中设置区域,但是失败了?我觉得
glEnable(GL_DEPTH_TEST) ;
glColorMask(1,1,1,1) ;
glEnable(GL_STENCIL_TEST);
GLboolean en = GL_FALSE ;
en = glIsEnabled(GL_STENCIL_TEST) ; // debug中en = GL_TRUE 表明stencil应该启用
glStencilFunc(GL_EQUAL, 1, 1) ;
glStencilOp(GL_KEEP, GL_KEEP, GL_KEEP) ;
。。。。后续操作省略
绘图初始化时候我已经调用glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT | GL_STENCIL_BUFFER_BIT);
清除了Stencil缓存。
按理说我的图像只应该在Stencil缓存中值为1的地方绘制,结果是不是为1都绘制了呢!郁闷
谁知道为什么?这个问题困扰了我1.5个钟头。(传上失败图)
不会传图, [em7] |
|