OGRE是一个C++编写的渲染引擎,可以被.NET调用,也可以被JAVA调用。Python也可以。
http://www.ogre3d.org/wiki/index.php/MOGRE
http://ogre4j.sourceforge.net/
http://www.python-ogre.org/
这对开发一个3D浏览平台非常有用。
我们可以采用.NET来定义平台的模型,所有的场景定义都保存在XML文件中,然后由.NET加载到内存中,调用渲染引擎和其他的引擎实现数据的显示。
对系统的消息可以传递给插件,插件采用.NET开发,这样整个平台可以支持.NET脚本。
3DBrowser的工作过程如下:
XML场景定义文件---3DBrowser加载到内存中---动态创建场景中所有的对象,Mesh,相机,视图等等---开始渲染产生3D场景。
键盘鼠标或其他输入设备的输入事件传递过程如下:
OIS收到事件---插件管理器---插件---插件处理事件---根据处理结果控制场景---事件处理完毕。
为了在输入事件的处理函数中控制场景中的对象,必须可以遍历所有的对象,如果找到相机,控制相机的位置,找都light,控制其亮度。找到塞车,控制塞车的速度等等。必须可以在NET中实现。