博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ogre学习笔记Basic Tutorial 前四课总结
阅读量:5157 次
发布时间:2019-06-13

本文共 1506 字,大约阅读时间需要 5 分钟。

转自:
OGRE Homepage
        OGREWIKI中有一系列的基本教程,这篇笔记就是读完这些教程后的一个总结。教程首页:
        Basic Tutorial 1主要讲了几个OGRE中的基本概念:
1.  SceneManager
:所有屏幕上可见的东西都由
SceneManager
来管理;有多种类型的
SceneManager
,分别用来渲染
Terrain
BSP
等等。
2.  Entity
:初步的理解一个
Entity
代表一个
Mesh
(可以含有动画),
Light
Camera
Particle
Billboard
不用
Entity
表示。
Entity
不能直接加到场景中,必须先
attach
到一个
SceneNode
上,
SceneNode
管理位置和方向。
3.  SceneNode
SceneNode
管理位置和方向;需要注意子节点的是在父节点的空间中;一个
SceneNode
可以管理多个对象。
4.  OGRE
中的
Entity
SceneNode
都必须指定全局唯一的名称。
 
Basic Tutorial 2
主要是讲
OGRE
中的
Light
Shadow
的设置
1.  要开启阴影:首先要调用SceneManager:: setShadowTechnique(),然后对于需要开启的Entity调用Entity:: setCastShadows()
2.  灯光和摄像机都需要由SceneManager来创建,分别是SceneManager::createLight()SceneManager::createCamera()
 
Basic Tutorial 3
主要讲
Terrain
场景,
Sky
Fog
1.  为了处理Terrain场景,首先要选择相应类型的SceneManager,这里选择了“ST_EXTERIOR_CLOSE”类型。这个操作是通过Root::createSceneManager()完成的。此操作创建并返回了一个TerrainSceneManager指针,同时创建了一个HeightmapTerrainPageSource对象。
2.  加载地形是通过:mSceneMgr->setWorldGeometry( "terrain.cfg" );语句来完成的。
3.  天空是通过SceneManager::setSkyBox()等函数完成的;
4.  Fog
是通过
SceneManager::setFog()
完成。
 
Basic Tutorial 4
引入了
FrameListener
的概念
对于
FrameListener
的初步理解:
OGRE
在初始化完成之后,调用
Root::startRendering()
就启动了渲染循环。
FrameListener
是为了给应用程序处理各种事件的机会,最典型的就是
frameStarted()
frameEnded()
此教程的
TutorialFrameListener
ExampleFrameListener
派生,后者又从
FrameListener
KeyListener
派生,所以它可以处理按键事件。
 
Basic Tutorial 5
6
没有仔细阅读。
 
以上几个教程都使用“
ogrenew/Samples/Common
”目录下的
ExampleApplication
的简单框架,有必要对它做一下了解。

转载于:https://www.cnblogs.com/hnfxs/p/3185359.html

你可能感兴趣的文章
植物大战僵尸中文年度版
查看>>
26、linux 几个C函数,nanosleep,lstat,unlink
查看>>
投标项目的脚本练习2
查看>>
201521123107 《Java程序设计》第9周学习总结
查看>>
Caroline--chochukmo
查看>>
iOS之文本属性Attributes的使用
查看>>
从.Net版本演变看String和StringBuilder性能之争
查看>>
Excel操作 Microsoft.Office.Interop.Excel.dll的使用
查看>>
解决Ubuntu下博通网卡驱动问题
查看>>
【bzoj2788】Festival
查看>>
执行gem install dryrun错误
查看>>
Java SE之正则表达式一:概述
查看>>
HTML5简单入门系列(四)
查看>>
实现字符串反转
查看>>
转载:《TypeScript 中文入门教程》 5、命名空间和模块
查看>>
苹果开发中常用英语单词
查看>>
[USACO 1.4.3]等差数列
查看>>
Shader Overview
查看>>
Reveal 配置与使用
查看>>
Java中反射的学习与理解(一)
查看>>