OGRE教程学习笔记
文章平均质量分 84
wangwang123654
这个作者很懒,什么都没留下…
展开
-
OGRE教程学习笔记-1.3
真倒霉,昨天下午才写完的东西,没有保存好,就没有了,刚才写完,现在把这一章节的内容放在下面: 1创建场景管理器mSceneMgr = mRoot->createSceneManager("FooSceneManager");SceneManager* Ogre::Root::createSceneManager (const String原创 2009-11-30 15:11:00 · 998 阅读 · 2 评论 -
OGRE 使用技巧总结
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://stdsoft.blogbus.com/logs/35987681.html1.所有需要挂在SceneNode上的user-object, 都需要从MovableObject来继承,比如一个最典型的应用是 3DSoundSource.2.Ogre中RenderQueue的相关标号,标号越小的其最先渲染。Backgro转载 2009-12-13 21:59:00 · 588 阅读 · 0 评论 -
OGRE学习笔记(二)
二、实体的拖动操作bool mouseMoved(const OIS::MouseEvent &arg){ // Update CEGUI with the mouse motion CEGUI::System::getSingleton().injectMouseMove(arg.state.X.rel, arg.state.Y.rel); // If we are draggi转载 2009-12-10 11:06:00 · 299 阅读 · 0 评论 -
OGRE学习笔记(一)
OGRE是如何工作的?这是一个相当宽泛的问题,只研究一点显然不能够得到答案。我们将相继介绍 SceneManagers,Entities,SceneNodes.这三个类是OGRE的基石.SceneManager 基础:我们再屏幕上看到的一切都通过SceneManager来管理,当你把一个物体放到场景中去的时候,SceneManager就是我们来跟踪它们位置的类.当你创建了一个相机来观察场景的时转载 2009-12-10 11:04:00 · 712 阅读 · 1 评论 -
Ogre学习笔记(1):Basic Tutorial
OGRE Homepage:http://www.ogre3d.org/OGRE的WIKI中有一系列的基本教程,这篇笔记就是读完这些教程后的一个总结。教程首页:http://www.ogre3d.org/wiki/index.php/Ogre_Tutorials。Basic Tutorial 1主要讲了几个OGRE中的基本概念:1. SceneManager:所有屏幕上可见的东转载 2009-12-10 10:10:00 · 478 阅读 · 0 评论 -
Ogre学习笔记(5):TerrainSceneManager
TerrainSceneManager是一个OctreeSceneManager的派生类,并且是在同一个Plugin工程中。通过调用void TerrainSceneManager::setWorldGeometry( const String& filename )来加载一个地形,参数为一个配置文件的文件名。配置文件中主要有:WorldTexture=terrain_texture.jpgPag转载 2009-12-10 10:09:00 · 423 阅读 · 0 评论 -
Ogre学习笔记(4):OctreeSceneManager
既然前面分析Mesh(Entity,SceneNode)的渲染时已经看到了OctreeSceneManager,那么现在正是分析一下它了。所谓SceneManager,我想处理“空间分割”和“可见性判断”是两个主要的任务,后者已经打过一点交道了,是通过下面这个函数完成的:virtual void _findVisibleObjects ( Camera * cam, bool onlyShadow转载 2009-12-10 10:09:00 · 341 阅读 · 0 评论 -
Ogre学习笔记(3):Mesh的渲染流程
首先一个Entity对象必须Attach到一个SceneNode。1. 创建一个SceneNode:SceneManager::getRootSceneNode() (在SceneManager::init时会创建一个RootNode)à SceneNode::createChildSceneNode()àNode::createChild()主要的操作在这个函数中完成,首先调用虚函数SceneN转载 2009-12-10 10:06:00 · 433 阅读 · 0 评论 -
Ogre学习笔记(9):API 抽象层
OGRE通过一个抽象层,实现了API无关性。现在有RenderSystem_Direct3D9和RenderSystem_GL两个实现。下面主要通过考察RenderSystem_Direct3D9来分析一下API抽象层及其实现。API抽象层有两个核心的类:RenderSystem和HardwareBufferManager,另外还有一系列的HardwareVertexBuffer、Hardware转载 2009-12-10 15:45:00 · 558 阅读 · 0 评论 -
Ogre学习笔记(6):BspSceneManager
【1. 概览】Ogre支持Quake3的bsp格式。相关的代码在“Plugin_BSPSceneManager”工程中。主要的类有以下几个:Class BspSceneNode:BspSceneNode是SceneNode的派生类,是专门提供给BSPSceneManager使用的。主要是提供针对于BSP tree的可见性判断。这个类并不是BSP tree的node,BSP tree中的node使用转载 2009-12-10 15:18:00 · 293 阅读 · 0 评论 -
OGRE学习笔记之一
开始学习3D了,很早就想学了,怎奈数学不好,一直畏惧,可是如果不直面它,就永远的害怕,永远的逃避,这是在很糟.于是,我终于开始了我的3D之旅.在学校时候就看上了OGRE,十几万行代码的图形引擎,它给我的感觉很好.不过奇怪的是国内似乎根本没有OGRE的社区,曾经是在91看到的,可是那边早已经荒废了.我使用的是OGRE的 1.2.4,VC是VC.net 2003,也就是VC7.1.我是下载源代码,自行转载 2009-12-10 14:00:00 · 630 阅读 · 0 评论 -
Ogre学习笔记(8):骨骼动画
OGRE的基本动画控制是很简单的,设置一个动画的操作是这样:// Set idle animationmAnimationState = ent->getAnimationState( "Idle" ); mAnimationState->setLoop( true );mAnimationState->setEnabled( true );(上面这段代码来自Intermedi转载 2009-12-10 11:50:00 · 583 阅读 · 0 评论 -
Ogre学习笔记(2):Mesh的加载
如果新开始写一个3D渲染引擎,Mesh应该是一个很好的切入点。当一个看似简单的Mesh渲染到窗口时,说明引擎的架构已经确定,并验证了。想了解 Ogre内部的机制,可以先看看Mesh的加载过程,这里主要涉及到Resource是如何管理的,Material是怎样处理的,Resource和 HardwareBuffer是如何关联的。对于前面教程代码的执行过程做一下分析:创建一个Entity(加载Mesh转载 2009-12-10 10:04:00 · 718 阅读 · 0 评论 -
OGRE教程学习笔记-1.6
Ogre初级教程6注意:这一部分涉及到CEGUI的好多知识,请查阅相关文档1. OgreCEGUIRenderer()eg: mGUIRenderer = new CEGUI::OgreCEGUIRenderer(mWindow, Ogre::RENDER_QUEUE_OVERLAY, false, 3000, mSceneMgr);原创 2009-12-01 22:08:00 · 371 阅读 · 0 评论 -
OGRE教程学习笔记-1.2
1. 创建摄像机:mCamera = mSceneMgr->createCamera(“PlayCam”);这将创建一个叫"PlayerCam"的摄像机。如果你不打算保留它的指针,那么你可以调用场景管理器的方法 getCamera 通过传递它的名字来获取它。Virtual Camera* Ogre::SceneManager::createCamera(const String原创 2009-11-29 21:45:00 · 1133 阅读 · 0 评论 -
OGRE教程学习笔记-1.1
声明:1)请转载的博主注明出处。2)此笔记是本人在自习学习Ogre教程的过程中的笔记 在原教程第一个函数出现的时候,我都会引用OGRE API Reference做出相应的解释,在这里感谢免费打工仔还有该教程的翻译者付出的辛勤劳动。 Ogre教程详见http://www.ogre3d.cn 以后我几乎每天都会更新的,嘿嘿。。。 基础教程一 1. setAmbientLight()。原创 2009-12-01 19:50:00 · 800 阅读 · 0 评论 -
OGRE教程学习笔记-1.4
Ogre学习笔记1.4-------------初级教程4 1是否要在左下角显示帧率的提示框mFrameListener->showDebugOverlay(true); bool Ogre::Root::showConfigDialog(void) 显示一个询问用户选择系统设置的对话框 评论:该方法显示一个默认的对话框,要求用户选择一种渲染系统(OpenG原创 2009-12-01 18:13:00 · 409 阅读 · 0 评论 -
Ogre学习笔记(7):Lighting
OGRE的灯光接口很简单,以Demo_Lighting工程为例:1. 创建灯光:Light* SceneManager::createLight(const String& name)此函数再调用“SceneManager::createMovableObject()”,创建一个Light的实例,然后加入到ObjectMap中(保存在SceneManager::mMovableOb转载 2009-12-11 16:57:00 · 409 阅读 · 0 评论