SDK安装以及编译

1、下载SDK,地址如下

  http://www.ogre3d.org/download/sdk

2、安装SDK,直接解压到相应目录,如D:/ogreSDK

3、我用的是1.8版本,打开SDK安装目录,如图:

  D:\Program Files\OgreSDK_vc10_v1-8-1

  

  用VS2010打开ogre.sln对其进行生成解决方案,过程有点慢,如果没有出问题,那就可以进行下一步了。

  4、打开D:\Program Files\OgreSDK_vc10_v1-8-1\bin\debug下面的SampleBrowser_d.exe,就可以进入Sample

  

 创建项目并配置IDE(集成开发环境)

  1、创建一个Win32空项目

  2、新建一个main.cpp文件,加入WinMain函数

1 #include <windows.h>
2 INT WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
3 {
4 return 0;
5 }

  3、在工程里添加现有项,添加头文件"ExampleApplication.h"。其中ExampleApplication.h在“D:\Program Files\OgreSDK_vc10_v1-8-1\include\OGRE\”下

  

  4、在菜单栏依次点击项目——属性——配置属性——链接器——输入中,“附加依赖项”处:添加OgreMain_d.lib和 OIS_d.lib

  6、把ogre目录下的相关文件都包含到项目中,具体可参考,如图:

  5、在main.cpp中添加一个新类Example1,并重写createScene()函数如下

 1 #include "ExampleApplication.h"//添加在程序的开头
2
3 class Example1 : public ExampleApplication
4 {
5 public:
6 void createScene()//直接重写
7 {
8
9 }
10 protected:
11 private:
12 };

  6、在WinMain函数中创建一个Example1类的实例,并调用其go()函数。

   把应用程序的目录设到Ogre目录下,在菜单栏依次点击项目——属性——配置属性——调试,把工作目录改为:

  D:\Program Files\OgreSDK_vc10_v1-8-1\bin\debug

  7、在WinMain函数里添加如下:

1    Example1 app;
2 app.go();

 好了,现在可以运行了,不过只是一个黑色的窗口,还没添加其他东西。

  最后在createScene()里添加以下两行:

1 Ogre::Entity *ogreHead = mSceneMgr->createEntity("OgreHead","OgreHead.mesh");//创建OgreHead的实体,并返回指向它的指针
2 mSceneMgr->getRootSceneNode()->attachObject(ogreHead);//把创建的实体对象挂接到场景中

  现在添加一个“恶魔”出来了,哈哈。忙活一天了,终于搞出来了。

ogre3d环境配置与简单程序示例的更多相关文章

  1. ogre3d环境配置 SDK安装配置及简单事例教程

    ogre3d环境配置 SDK安装配置及简单事例教程 http://www.cr173.com/html/22594_1.html ogre3d环境配置 SDK安装配置及简单事例教程 http://ww ...

  2. android data binding jetpack I 环境配置 model-view 简单绑定

    android data binding jetpack VIII BindingConversion android data binding jetpack VII @BindingAdapter ...

  3. hadoop环境安装及简单Map-Reduce示例

    说明:这篇博客来自我的csdn博客,http://blog.csdn.net/lxxgreat/article/details/7753511 一.参考书:<hadoop权威指南--第二版(中文 ...

  4. CUDA学习,环境配置和简单例子

    根据摩尔定律,每18个月,硬件的速度翻一番.纵使CPU的主频会越来越高,但是其核数受到了极大的限制,目前来说,最多只有8个或者9个核.相比之下,GPU具有很大的优势,他有成千上万个核,能完成大规模的并 ...

  5. Robot Framework 教程 (1) - 环境配置及简单网站兼容性测试

    0.Robot Framework 简介 Robot Framework 是一个通用的自动化测试框架,主要用于“验收测试”和“验收测试驱动开发(ATDD)” (会其它文章中会详细介绍ATDD).它使用 ...

  6. Tornado 安装及简单程序示例

    1.安装步骤:tar xvzf tornado-3.2.tar.gz cd tornado-3.2 python setup.py build sudo python setup.py install ...

  7. Java(1)开发环境配置及第一个程序Hello World

    作者:季沐测试笔记 原文地址:https://www.cnblogs.com/testero/p/15201468.html 博客主页:https://www.cnblogs.com/testero ...

  8. React Native环境配置和简单使用

    # 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会 ...

  9. React-Native 之 环境配置和简单使用

    # 前言 学习本系列内容需要具备一定 HTML 开发基础,没有基础的朋友可以先转至 HTML快速入门(一) 学习 本人接触 React Native 时间并不是特别长,所以对其中的内容和性质了解可能会 ...

随机推荐

  1. 关于死循环while(true){}或for(;;){}的总结

    关于死循环while(true){}或for(;;){}的总结 1.基本用法: while(true){     语句体; } for(;;){     语句体; } 以上情况,语句体会一直执行. 2 ...

  2. MapReduce的过程(2)

    MapReduce的编程思想(1) MapReduce的过程(2) 1. MapReduce从输入到输出 一个MapReduce的作业经过了input.map.combine.reduce.outpu ...

  3. BaseAdapter获取View之三重境界

    在BaseAdapter获取View之前,BaseAdapter需要与数据源相关联. 可以使用构造方法: private List<ItemBean> baseListItems; pri ...

  4. django之session配置

    session应用示例 from django.shortcuts import render from django.shortcuts import HttpResponse from djang ...

  5. java uuid第一次性能

    在java中产生uuid的方式是使用java.util.UUID. UUID.randomUUID().toString(); 我在测试redis性能时,使用uuid产生测试数据,发现多线程测试red ...

  6. 通过WMIC导出系统日志

    查看日志类型 wmic nteventlog get filename C:\>wmic nteventlog get filename FileName appevent secevent s ...

  7. Oracle RAC Brain Split Resolution

    大约是一周前,一位资深的Oracle工程师向我和客户介绍RAC中脑裂的处理过程,据他介绍脑裂发生时通过各节点对voting disk(投票磁盘)的抢夺,那些争抢到(n/2+1)数量voting dis ...

  8. 多线程程序设计-Thread的一些方法

    run():是程序中会和会和其他线程“同时”执行的部分.   wait():使得当前线程进入等待状态,等待的线程不会主动进入到线程队列中排队等待cpu资源,必须由其他线程调用notify()方法通知它 ...

  9. Dojo的dojoConfig函数

    在我们引入 Dojo 的时候都会先做一些全局的配置,所使用的就是 Dojo 的 Config 接口. dojoConfig为以前的dgConfig函数. <script type="t ...

  10. Java第十二次作业:继承与抽象类解决工人与学生的问题,抽象类实例。抽象类作用——为多态创造了可能。抽象类的作用总结

    继承与抽象类解决工人与学生的问题 抽象类实例 package com.swift; public abstract class Person { private String name; privat ...