有谁懂open scene graph 的3d驱动设计吗

来源:百度知道 编辑:UC知道 时间:2024/05/17 08:16:43
有什么相关的教程可以看,这个设计难不难?研究这个前途怎么样,就业前景如何阿?

挺难的,
本节涵盖了生成基本几何形状的一些方法。生成几何物体的方法有这么几种:在最底层对OpenGL基本几何进行松散的包装,中级是使用Open Scene Graph的基本形状,以及更高级一些的从文件读取。这篇教程涵盖的是最低层的。这种方法弹性最大但最费力。通常在Scene Graph级别,几何形状是从文件加载的。文件加载器完成了跟踪顶点的大部分工作。

背景

对一下几个类的简单解释:

Geode类:

geode类继承自node类。在一个Scene Graph中,node(当然包含geode)可以作为叶子节点。Geode实例可以有多个相关的drawable。

Drawable类层次

基类drawable是一个有六个具体子类的抽象类。

geometry类可以直接有vertex和vertex数据,或者任意个primitiveSet实例。

vertex和vertex属性数据(颜色、法线、纹理坐标)存放在数组中。既然多个顶点可以共享相同的颜色、法线或纹理坐标,那么数组索引就可以用来将顶点数组映射到颜色、法线、或纹理坐标数组。

PrimitiveSet类:

这个类松散的包装了OpenGL的基本图形-POINTS,LINES,LINE_STRIP,LINE_LOOP,...,POLYGON.

代码

以下这节代码安装了一个viewer来观察我们创建的场景,一个‘group’实例作为scene graph的根节点,一个几何节点(geode)来收集drawable,和一个geometry实例来关联顶点和顶点数据。(这个例子中渲染的形状是一个四面体)

...

int main()

{

...

osgProducer::Viewer viewer;

osg::Group* r