state->setRenderingHint都有那些方法
时间: 2024-04-05 19:33:50 浏览: 61
osg::StateSet 中的 setRenderingHint 方法可以设置一些 OpenGL 渲染提示,常用的 setRenderingHint 方法如下:
- setRenderingHint(osg::StateSet::TRANSPARENT_BIN):设置当前状态集所属的渲染 bin 为透明 bin,用于实现透明效果。
- setRenderingHint(osg::StateSet::OPAQUE_BIN):设置当前状态集所属的渲染 bin 为不透明 bin,用于实现不透明效果。
- setRenderingHint(osg::StateSet::DEFAULT_BIN):设置当前状态集所属的渲染 bin 为默认 bin,用于普通的渲染效果。
- setRenderingHint(osg::StateSet::DEPTH_TEST):开启深度测试。
- setRenderingHint(osg::StateSet::LIGHTING):开启光照模式。
- setRenderingHint(osg::StateSet::CULL_BACK):开启背面剔除模式。
其中,TRANSPARENT_BIN 和 OPAQUE_BIN 用于设置渲染 bin,它们分别表示透明和不透明的渲染 bin。在进行渲染时,透明的物体需要先进行渲染,因此需要将它们放在透明渲染 bin 中。而不透明的物体则可以放在不透明渲染 bin 中。DEFAULT_BIN 则表示默认的渲染 bin,用于普通的渲染效果。
除了上述方法外,osg::StateSet 中还有其他的 setRenderingHint 方法,如 setRenderBinDetails、setNestRenderBins 等方法,用于设置渲染 bin 的详细信息和嵌套渲染 bin 等功能。这些方法可以用于实现更加复杂的渲染效果。
阅读全文