查看: 2540|回复: 2

请教模板测试的问题!

[复制链接]

该用户从未签到

发表于 2009-4-16 20:37:18 | 显示全部楼层 |阅读模式
这是一段的关于模板测试的代码
           _stencil->setFunction(osg::Stencil::ALWAYS,1,1);
        _stencil->setOperation(osg::Stencil::REPLACE,osg::Stencil::REPLACE,osg::Stencil::REPLACE);
        _depth->setFunction(osg:epth::GREATER);
        _stencil->setFunction(osg::Stencil::EQUAL,1,1);
        _stencil->setOperation(osg::Stencil::KEEP,osg::Stencil::INCR,osg::Stencil::INCR);
_value=_stencil->getFunctionMask();                     
此时模板缓存值应该是2呀,为什么还是1?

该用户从未签到

发表于 2009-4-16 21:50:16 | 显示全部楼层
您的getFunctionMask获取的不是模板缓存值,而是您设置的
setFunction  ( Function  func, int  ref,  unsigned int  mask)
中最后一个掩码值。

要得到模板缓存的当前值,只能使用readPixels读取GL_STENCIL_INDEX的内容,注意readPixels只能在类同Camera:: PostDrawCallback的回调中使用

该用户从未签到

 楼主| 发表于 2009-4-16 21:55:10 | 显示全部楼层
那如果要使用模板测试和深度测试,是不是必须得用Camera:: PostDrawCallback回调?有没有类似的功能函数?谢谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

OSG中国官方论坛-有您OSG在中国才更好

网站简介:osgChina是国内首个三维相关技术开源社区,旨在为国内更多的技术开发人员提供最前沿的技术资讯,为更多的三维从业者提供一个学习、交流的技术平台。

联系我们

  • 工作时间:09:00--18:00
  • 反馈邮箱:1315785073@qq.com
快速回复 返回顶部 返回列表