【OSG入门】之Geode and Drawable classes

       Geode是Geometry Node的缩写,它是OSG scene graph的一个叶子节点,没有子节点,但是却包含渲染的一些几何属性。需要渲染的几何数据被存储在一组Drawable对象里面,与Geode关联。Drawabel无法被实例化,它是一个纯虚基类。在OpenGL渲染管线中,有很多基类继承于它,这些基类可用于绘制模型、影像、文字等。这些可以被渲染的元素被统称为可绘制对象。

       Geode提供addDrawable来关联Drawble,参数是ref_ptr类型,例如ref_ptr,通过removeDrawable来移除与之关联的Drawable对象,参数可以是指定的Drawable对象,或者是删除的起点和删除数量。

【OSG入门】之Geode and Drawable classes_第1张图片

绘制基本形状

       OSG::ShapeDrawable提供了长方体(Box)、胶囊体(Capsule)、圆锥体(Cone)、圆柱体(Cylinder)、球体(Sphere)

【OSG入门】之Geode and Drawable classes_第2张图片

        绘制ShapeDrawable并不是一个高效的接口,这里我们还是希望通过osg::Geometry这种方式来绘制,如果你要绘制自定义几何体,那么你需要继承 osg::Drawable这个虚基类,然后重写它的drawImplementation()接口:【OSG入门】之Geode and Drawable classes_第3张图片

你可能感兴趣的:(OSG开发)