Ogre源码剖析之一:初识Root类

本文主要剖析Ogre引擎的Root类,包括其单例模式实现、插件加载机制以及如何初始化RenderSystem。通过ExampleApplication类的使用,深入理解Ogre的基本思想和工作原理。在Root的构造函数中,不仅初始化了多种管理器,还通过动态加载动态库实现了插件的加载,最终实例化了重要的D3D9RenderSystem对象。
摘要由CSDN通过智能技术生成

 

         当走了很远后,我们常常忘了最初启程的目的。

         当我们学习一门新的开发语言时,大都是以一个输出”Hello world”开始的。那么对于学习Ogre来说ExampleApplication类就是它的入门”Hello world”例子。这个文件可以在..\ogre_src_v1-8-0\Samples\Common\include中找到,还有一个ExampleApplication类用到的类ExampleFrameListener也在该目录下。

         可以这么说ExampleApplication类实现了运行Ogre程序的最基本框架,麻雀虽小五脏俱全,通过分析它,能深入理解Ogre的基本思想,机制和原理。

         这里我用的图形引擎是DirectX9.0,那么剖析的深度就会到调用DirectX9的方法为止。

         在阅读本文之前,确保你已经大概了解了Ogre,并且已经利用继承ExampleApplication类的方法实现一个最简单Ogre渲染实例,比如说渲染出来Ogre头。如果你不清楚这个怎么做,或者不知道如何配置Ogre,就百度吧。这里重点在对Ogre源码的剖析,不会太多介绍怎么用Ogre,而是重点放在介绍Ogre做了些什么,怎么做的这些问题上。

         首先来看一下ExampleApplication类都有哪些成员变量,如下:

     Root *mRoot;
    Camera* mCamera;
    SceneManager* mSceneMgr;
    ExampleFrameListener* mFrameListener;
    RenderWindow* mWindow;


 

       好,下面就开始剖析第一类:Root。下面是引用《Ogre帮助手册》对Root对象的解释:“根(Root)对象。这是你进入OGRE系统的“入口”,根(Root)对象用来创建OGRE系统中的所有的基础元素,比如:场景管理器(Scene Managers),绘制系统(Rendering Systems),绘制窗口(Render Windows)和插件加载器(Loading Plugins)。根(Root)对象是

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值