本软件能够实时获取 3DS Max 场景的几何物体、灯光、摄像机等信息,将其转换生成 Ogre3D 格式的场景信息,利用 Ogre 渲染引擎在 3DS Max 手工定义的视口中渲染所构建的 Ogre 场景。
开发环境为:3DS Max SDK 2009 + Ogre 1.6.4 + VS2005
功能和技术原理简述:
1. 在 3DS Max 2009 场景中添加一些几何物体,添加两个光源,并添加两个摄像机,如下图所示:
2. 右击 Perspective -> Views -> Extend,选择 SIEMENS Ogre Viewport,这是我开发的一个 3DS Max 视口插件。在启动 3DS Max 时,它作为动态链接库被 3DS Max 加载。
3. 在上一步单击 SIEMENS Ogre View 后,即会向系统注册了一个 Win32 子窗体,它作为 3DS Max 的子窗体被加载。这个子窗体加载后,手工配置 Ogre 初始化资源,将其绑定为一个 Ogre 渲染视口。在 Ogre 渲染视口窗体右上角点击鼠标右键,会弹出子窗体的功能菜单,如下图所示:
4. 勾选上 Load Texture,将会加载几何体的纹理贴图。选取场景中所有几何物体,单击 Load Selected Objects 后,程序将会做3件事:
(1)解析 3DS Max 场景中的几何体信息:遍历 3DS Max 的 Mesh 树,分解出 Mesh 中的顶点坐标、顶点法向量、顶点纹理坐标、顶点颜色以及面对应的材质索引、定点索引;解析场景中的光源和摄像机信息;
(2)将上面解析出来的信息转换成 Ogre 格式,构建 Ogre 的 Mesh、Entity 树,构建出 Ogre 场景;
(3)创建顶点 Buffer、索引 Buffer 和纹理 Buffer,将(2)生成的数据导入这些 Buffer,在窗体中渲染输出结果。
最终渲染结果如下图所示:
5. 以上是默认观察视角。我们在场景中创建了两个摄像机,在插件功能菜单中可以切换为 Camera 1 或 Camera 2 的视角。如下图:
Camera 1 视角
Camera 2 视角