osg.IndirectCommandDrawArrays是一个代表用于绘制图形的一组单个OpenGL命令的OpenSceneGraph类。
它使用间接绘制的方法,通过与许多其他命令一起使用来控制绘制。
创建一个osg.DrawArraysIndirectCommand对象传递到osg.IndirectCommandDrawArrays构造函数中,以定义绘制参数。 然后,将osg.IndirectCommandDrawArrays添加到您的场景图中即可。
// 创建DrawArraysIndirectCommand对象
osg::DrawArraysIndirectCommand* cmd = new osg::DrawArraysIndirectCommand(GL_TRIANGLES, 0, numVerts, 1);
//创建IndirectCommandDrawArrays对象
osg::IndirectCommandDrawArrays* drawable = new osg::IndirectCommandDrawArrays(cmd);
//将drawable添加到场景图中
root->addChild(drawable);
osg.IndirectCommandDrawArrays继承自osg::Drawable,并且具有许多标准可配置属性,例如:
此外, osg.IndirectCommandDrawArrays 还具有以下属性:
osg.IndirectCommandDrawArrays::getIndirectCommand获取所使用的osg.DrawArraysIndirectCommand参数,该参数指示绘制的数量和其他控制绘制的各种参数。
osg.IndirectCommandDrawArrays::setIndirectCommand设置新的osg.DrawArraysIndirectCommand对象,指示新的绘制参数。 重新设置此参数可能影响场景中可见的渲染。