夜光猪

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

2013年4月19日

摘要: OIS几个重要的类的使用《一》OIS的简介:OIS有很多的类,头文件也10多个,很多人一到就蒙了,其实不然,虽然头文件很多,但是都很简单。#include"OIS.h"包含了所有用到的头文件,使用OIS时,只要包含这一个就行了。#include"OISPrereqs.h"一些平台选择和编译器的处理,还有一些简单的定义,不用管。#include"OISInterface.h"接口的说明,没有什么重要东西,了解而已。#include"OISException.h"异常的处理,编译程序时自动处理,不用管。#include 阅读全文
posted @ 2013-04-19 15:10 夜光猪 阅读(287) 评论(0) 推荐(0) 编辑

2013年4月18日

摘要: 1. 单例模式(Singleton) 2. 工厂方法(Factory Method) 3. 适配器模式(Adapter) 4. 桥接模式(Bridge) 5. 职责链模式(Chain of Responsibility) 6. 迭代器模式(Iterator)Ogre::VectorIterator< T >Ogre::MapIterator< T >Ogre::ConstVectorIterator< T >Ogre::ConstMapIterator< T >7. 观察者模式(Observer)如各种Listener 8. 模板方法模式(Tem 阅读全文
posted @ 2013-04-18 17:16 夜光猪 阅读(212) 评论(0) 推荐(0) 编辑

摘要: 作者:trcj1 博客:FadeIn to Bloom 成熟图像引擎往往对底层操作做了层层封装,用户或许能轻易地将复杂模型加入到游戏里,却在画一个三角形时摸不着头脑。本文阐述如何在Ogre里画三角形,如果有些许DirectX或者OpenGL的基础知识,理解起来会更加容易。 Ogre用树结构来组织场景,所有希望被遍历到的实体都需要挂接在树节点下,此类有挂接能力的实体需要继承自MovableObject类;而如果实体想被赋予渲染的能力,则要继承Renderable类。如此一来,我们的三角形类如下: class Triangle : public Ogre::MovableObject, pu... 阅读全文
posted @ 2013-04-18 16:49 夜光猪 阅读(349) 评论(0) 推荐(0) 编辑

摘要: 小技巧:float pos[3] = {0.0, 0.0, 0.0};Ogre::Vector3 position = Ogre::Vector3(pos[0]);可以写成float pos[3] = {0.0, 0.0, 0.0};Ogre::Vector3 position(pos);表达三维向量V(x,y,z)的类,三维世界中的位置、方向和缩放因子都可以用Vector3来表达,关键看你如何解释与使用它。为了提高效率,Vector3类的成员函数大部分都实现为内联函数。又为了将来操作方便,Vector3类的数据成员都实现为public类型。常量static const Vector3 ZER 阅读全文
posted @ 2013-04-18 16:17 夜光猪 阅读(406) 评论(0) 推荐(0) 编辑

摘要: 转自: Ogre Wiki作者: Cory Petkovsek翻译:肥羊目录:·1简介·2必备知识·2.1向量(Vectors)·3欧拉(Euler)旋转·4矩阵(Matrix)旋转·5四元数(Quaternion)旋转·6问题·6.1四元数·6.2其它·7代码片断·7.1物体在XZ平面上的旋转·7.2平滑旋转·7.3重设方向简介:如果你在Ogre中处理完对象,发现它们不像你想象的那样旋转。那么,此时阅读这篇文章,大概会有些勉强。当我刚接触Ogre时,我用了很长的时 阅读全文
posted @ 2013-04-18 16:15 夜光猪 阅读(1074) 评论(0) 推荐(0) 编辑

摘要: Z轴正方向为前进方向pitch():俯仰,将物体绕X轴旋转(localRotationX)yaw():航向,将物体绕Y轴旋转(localRotationY)roll():横滚,将物体绕Z轴旋转(localRotationZ)几个实现函数:Ogre::Radian和Ogre::Degree,这两个类是一个简单类型Ogre::Real的封装。Ogre:: Angle代表了当前程序的默认的角度单元的角度大小。当OGRE应用程序第一次启动时,程序员可以自定义缺省值是‘弧度’(Radian)还是‘度’(Degree)。node2->pitch(Ogre::Radian(Ogre::Math::HA 阅读全文
posted @ 2013-04-18 15:17 夜光猪 阅读(2600) 评论(0) 推荐(0) 编辑

摘要: 目录1 读者对象2 简介3 如何开始4 OGRE如何工作 4.1 SceneManager 基础 4.2 Entity 基础 4.3 SceneNode 基础5 你的第一个OGRE程序6 坐标和向量7 添加另一个物体8 Entities more in Depth9 SceneNodes more in Depth10 尝试 10.1 Scale(变换) 10.2 旋转11 总结12 你的想法?1 读者对象 这篇文章是假设你有C++编程知识,并设置了OGRE在编译器中,(如果你不知道如何设置,请参看《OGRE初学者引导》),对OGRE一无所知的情况下。2 简介 在这篇教程中,我将... 阅读全文
posted @ 2013-04-18 14:58 夜光猪 阅读(631) 评论(0) 推荐(0) 编辑

摘要: 还没整理好 阅读全文
posted @ 2013-04-18 13:59 夜光猪 阅读(208) 评论(0) 推荐(0) 编辑

摘要: 作者: 刘鹏日期: 2009-03-07OGRE 是一个开源图形渲染引擎,本文给出了它的总体类图和绘制一帧图形的序列图,读者从中可以体会 OpenGL 等底层图形库是怎么封装的,以及如何设计一个图形渲染引擎。简介OGRE (Object-Oriented Graphics Rendering Engine),即面向对象图形渲染引擎,是一个面向场景管理的 3D 图形引擎,它基于 C++ 开发,帮助开发人员更容易的开发带硬件加速的 3D 图形程序。它的类库封装了底层图形库(Direct3D 和 OpenGL)的所有细节,提供了基于世界对象的接口和类。下图是 OGRE 的核心对象图: ... 阅读全文
posted @ 2013-04-18 13:17 夜光猪 阅读(746) 评论(0) 推荐(0) 编辑