zoukankan      html  css  js  c++  java
  • OGRE步步惊心 第002天:第一个小例子

    安装了 OGRE的模板之后,可以在VS里面直接通过这个向导,创建工程了

    创建完,其实就可以直接运行了,不过是个绿头头,哈哈,鼠标可以挪动位置,前后箭头,可以控制大小,左右箭头也可以调整位置,

    这里是模板的文件结构,BaseApplication.h,应该是整个工程的基类,OgreApp1,是从它派生出来的,Main函数在OgreApp1.cpp里面.

    这里是OgreApp1.cpp的定义,里面的CreateScene是主要起作用的函数. 

    注释掉模板的代码,写入如图的代码

    首先需要为整个场景设置环境光,这样才可以看到要显示的内容,通过调用setAmbientLight函数并指定环境光的颜色就可以做到这些。指定的颜色由红、绿、蓝三种颜色组成,且每种色数值范围在 0 到 1 之间。将下一句添加到 createScene 中:

          mSceneMgr->setAmbientLight( ColourValue( 1, 1, 1 ) );

    下一步创建一个 Entity ,通过调用 SceneManager 的 createEntity 方法来创建:

          Entity *ent1 = mSceneMgr->createEntity( "Robot", "robot.mesh" );

    变量 mSceneMgr 是当前场景管理器的一个对象,createEntity 方法的第一个参数是为所创建的实体指定一个唯一的标识,第二个参数 "robot.mesh" 指明要使用的网格实体,"robot.mesh" 网格实体在 ExampleApplication 类中被装载。
    这样,就已经创建了一个实体,但还需要创建一个场景节点来与它绑定在一起。既然每个场景管理器都有一个根节点,那我们就在根节点下创建一个场景节点。

         SceneNode *node1 = mSceneMgr->getRootSceneNode()->createChildSceneNode( "RobotNode" );

    这句代码首先调用场景管理器的 getRootSceneNode 方法来获取根节点,再使用根节点的 createChildSceneNode 方法创建一个名为 "RobotNode" 的场景节点。与实体一样,场景节点的名字也是唯一的。

    最后,将实体与场景节点绑定在一起,这样机器人(Robot)就会在指定的位置被渲染:

         node1->attachObject( ent1 );

    编译并运行你的程序,在屏幕上你将看到一个机器人。(这段是拷贝过来的,哈哈)

    运行如下图:

    ~奋力追求梦想的泰坦~
  • 相关阅读:
    silverlight 网站 iis发布
    使用PerfView诊断.Net GC的问题
    七种方法实现单例模式
    java多线程的学习之路(二)
    java多线程的学习之路(一)
    几种特殊的二叉树
    解析json字符串,把json字符串转换成Java对象
    KMP算法的理解
    常用 Git 命令清单
    Jquery.cookie.js 源码和使用方法
  • 原文地址:https://www.cnblogs.com/davytitan/p/2662121.html
Copyright © 2011-2022 走看看