纠结半天还是来看了nxOgre引擎。
http://www.ogre3d.org/tikiwiki/NxOgre
最后搭建的环境是:
VS2010+nxOgre+Ogre1.74+physx2.8.4
主要是看那个:
Betajaen's Ramblings
这两个算是比较新的了,其它的好像是OGRE1.7版本以前的兼容版本,没法在新的OGRE中使用了。
要下载的东西有:
NxOgre的下载地址https://github.com/betajaen/nxogre/
Critter的下载地址https://github.com/betajaen/critter
Tutorial的下载地址https://github.com/betajaen/nxogretutorials
最后一个是教程,需要上面两个才能编译。
我用的是VS2010,所以会有版本升级时的问题,我在下面列出解决方法。
1.在编译Critter时,有:
命令行 error D8016: “/ZI”和“/O2”命令行选项不兼容
英文应该是:
Command line error D8016 : '/O1' and '/RTC1' command-line options are incompatible
解决方法为:
GL为全程优化,在配置属性-> C/C++ -> 优化-> 全程优化中设置,而ZI编译生成调试信息,在配置属性-> C/C++ -> 常规-> 调试信息格式中设置。如编译debug版本,则去掉 GL选项(将全程优化中选为 否),如编译release版本,则可去掉 ZI选项。重新生成即可。
2.boost库在Ogre1.74已经换为1.47了,在包含文件中要换一下。
3...悲剧发生了, error C2039: “VisualDebugger”: 不是“NxOgre::Enums”的成员
上网查了下,是critter旧版本的东西,新的他还没有打包,得用SVN下。所以用SVN从上面那个网址下最新的critter来编译。
按照2改一下,OK,编译成功。
现在改一下教程里的配置,就可以成功编译了,他会自动的把生成的DLL放到OGRE的Sample浏览器里,就可以方便的查看结果(其实不方便。。打开要载入半天的资源)。
注意要把nxOgre.zip放到OGRE的media里,并在resource_d.cfg中配置好路径。
还有把physx的几个dll也放进来。
- PhysXCooking.dll
- PhysXCore.dll
- PhysXDevice.dll
- PhysXLoader.dll
我这运行时还提示少一个cudart32_30_9.dll,去physx目录下再拷过来就OK了。
(1002)一个风的例子:
这边有个简单的例子解析,是101的那个工程。
https://github.com/betajaen/nxogretutorials/blob/master/text/101.textile