【3D技术宅公社】XR数字艺术论坛  XR技术讨论 XR互动电影 定格动画

 找回密码
 立即注册

QQ登录

只需一步,快速开始

调查问卷
论坛即将给大家带来全新的技术服务,面向三围图形学、游戏、动画的全新服务论坛升级为UTF8版本后,中文用户名和用户密码中有中文的都无法登陆,请发邮件到324007255(at)QQ.com联系手动修改密码

3D技术论坛将以计算机图形学为核心,面向教育 推出国内的三维教育引擎该项目在持续研发当中,感谢大家的关注。

查看: 4770|回复: 2

[OGRE引擎] [原创]OGRE新手教程---(1)

[复制链接]
发表于 2008-11-15 09:32:23 | 显示全部楼层 |阅读模式

最近开始用OGRE这款引擎想做点东西,在网上查资料发现虽然说OGRE已经算是资料很多的了,但是依然存在不少问题,会让初学者摸不着头脑,其实这些问题都是很基本的问题,比如说如何对OGRE进行配置,我下载的OgreSDKSetup1.6.0_VC71,直接解压安装这个文件。

 

OGRE在Visual Studio2003下配置步骤

 

1.配置Direct3D9开发环境

  • 打开VC++2003,选择菜单[工具]=>[选项]=>[Projects]=>[VC++目录],在包含文件目录中包含Direct3D9 SDK安装目录下的Include目录,在库文件目录中包含Direct3D9 SDK安装目录下的Lib目录

2.配置OGRE开发环境

  • 打开VC++2003,选择菜单[工具]=>[选项]=>[Projects]=>[VC++目录],在包含文件目录中包含OGRE SDK安装目录下的Include目录,在库文件目录中包含OGRE SDK安装目录下的Lib目录.

以上这几个步骤做完,OGRE的运行环境就基本上完成了。

但是,http://www.ogre3d.cn/  上的初级教程按照以上的配置是无法正常编译的,因为还缺少一些东西。

 

好多的朋友阅读了 初级教程 发现无法编译,这不是编译环境的问题,你这个时侯运行OGRE的例题是可以编译通过的。问题不在以上编译环境不对,而是初级教程中的一些必要文件。首先 "ExampleApplication.h"  这个文件就找不到,因为他在  "E:\Program Files\OgreSDK\samples\include" 下面,所以 [工具]=>[选项]=>[Projects]=>[VC++目录],在包含文件目录中包含OGRE SDK安装目录下的Include目录这里要加这一个路径。

 

即使这样能够找到头文件进行编译了,但是还是无法正常编译通过,很多的无法编译外部符号,这一般是lib库缺失的问题,需要在项目中的附加依赖项里增加  OgreMain_d.lib    OIS_d.lib  两个库。

 

有的时候他还会报告动态链接库的错误,为了减少麻烦,我们把编辑器的工作目录设置到 “OgreSDK安装目录\OgreSDK\bin\debug”下,就OK了

 

这样以下的代码就可以正常运行了~~

 

  1. #include "ExampleApplication.h"
  2. class TutorialApplication : public ExampleApplication
  3. {
  4. protected:
  5. public:
  6. TutorialApplication()
  7. {
  8. }
  9. ~TutorialApplication()
  10. {
  11. }
  12. protected:
  13. void createScene(void)
  14. {
  15. }
  16. };
  17. #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
  18. #define WIN32_LEAN_AND_MEAN
  19. #include "windows.h"
  20. INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
  21. #else
  22. int main(int argc, char **argv)
  23. #endif
  24. {
  25. // Create application object
  26. TutorialApplication app;
  27. try {
  28. app.go();
  29. } catch( Exception& e ) {
  30. #if OGRE_PLATFORM == OGRE_PLATFORM_WIN32
  31. MessageBox( NULL, e.getFullDescription().c_str(), "An exception has occured!", MB_OK | MB_ICONERROR | MB_TASKMODAL);
  32. #else
  33. fprintf(stderr, "An exception has occured: %s\n",
  34. e.getFullDescription().c_str());
  35. #endif
  36. }
  37. return 0;
  38. }
复制代码

运行以后什么都看不到,这不是错误,因为这个本身就是得到的是一个黑色的屏幕,上面有OGRE的图标和FPS。

[此贴子已经被作者于2009-2-25 17:01:00编辑过]
发表于 2008-12-25 16:36:54 | 显示全部楼层
好网站,可关于OGRE的东西太少了。
发表于 2009-8-17 13:32:31 | 显示全部楼层
[EM06]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|3D数字艺术论坛 ( 沪ICP备14023054号 )

GMT+8, 2025-5-14 18:43

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表