【学习笔记】OGRE Basic Tutorial 1
2012-03-09 14:11
447 查看
http://www.ogre3d.org/tikiwiki/Basic+Tutorial+1&structure=Tutorials
下载项目框架:
只需要修改TutorialApplication里的createScene方法就行了
1. SceneManager:管理scene里的一切东西。可分为很多类型,管理不同类东西。
2. Entity:能够用3d mesh描述的任何东西,如机器人、鱼等,但Lights、camera等这些不用3d mesh构建的不算。
Entity::setVisible, Entity::isVisible //设置Entity是否可见
Entity::getName //获得Entity的名字
Entity::getParentSceneNode //获得该Entity被附加到的SceneNode
3. SceneNode:管理物体的location和orientation属性,可附加Entity或SceneNode或其他object。
SceneNode::getPosition / SceneNode::setPosition //设置它相对于父SceneNode节点的位置
SceneNode::translate //相对于本身位置的移动
物体的旋转:pitch,yaw,roll
重置做过的旋转:resetOrientation
单有Entity或但单有SceneNode都不能在scene上显示,即在屏幕上看不到,只有两者结合才能在scene上显示。
明显地,Entity只有物体本身属性,没有屏幕定位信息,屏幕不知道要把它放哪里,所以不能显示。
SceneNode只有定位,没有物体,不知道要显示什么,因此更不能在屏幕上显示。
=============================================================
大概步骤:
(mSceneMgr是在BaseApplication上创建的SceneManager变量)
1.设置周围环境的灯光
经过更改参数运行发现:
setAmbientLight是设置环境的光,如果没有设置这个属性,物体就没有阴影。
Ogre::Light* l = mSceneMgr->createLight("MainLight");这个是设置物体本身的光,
如果没有设置这个属性,物体的颜色就呈一整块,没有3D效果。
2.创建Entity
3.在SceneManager的根节点下创建SceneNode子节点
Ogre::SceneNode* headNode
= mSceneMgr->getRootSceneNode()->createChildSceneNode("HeadNode");
======================================================================
Ogre坐标系
屏幕左下角为原点,向右X正方向,向上Y正方向,像屏幕外Z正方向
Ogre环境
有3个库:主库、插件、第三方库
配置文件
plugins.cfg ---> 插件应用的配置
resources.cfg ---> 配置Ogre寻找资源的路径
media.cfg ---> Ogre一些资源更详细的信息
ogre.cfg ---> 屏幕的配置
quake3settings.cfg ---> 被用于BSPSceneManager
下载项目框架:
BaseApplication.h BaseApplication.cpp TutorialApplication.h TutorialApplication.cpp
只需要修改TutorialApplication里的createScene方法就行了
1. SceneManager:管理scene里的一切东西。可分为很多类型,管理不同类东西。
2. Entity:能够用3d mesh描述的任何东西,如机器人、鱼等,但Lights、camera等这些不用3d mesh构建的不算。
Entity::setVisible, Entity::isVisible //设置Entity是否可见
Entity::getName //获得Entity的名字
Entity::getParentSceneNode //获得该Entity被附加到的SceneNode
3. SceneNode:管理物体的location和orientation属性,可附加Entity或SceneNode或其他object。
SceneNode::getPosition / SceneNode::setPosition //设置它相对于父SceneNode节点的位置
SceneNode::translate //相对于本身位置的移动
物体的旋转:pitch,yaw,roll
重置做过的旋转:resetOrientation
单有Entity或但单有SceneNode都不能在scene上显示,即在屏幕上看不到,只有两者结合才能在scene上显示。
明显地,Entity只有物体本身属性,没有屏幕定位信息,屏幕不知道要把它放哪里,所以不能显示。
SceneNode只有定位,没有物体,不知道要显示什么,因此更不能在屏幕上显示。
=============================================================
大概步骤:
(mSceneMgr是在BaseApplication上创建的SceneManager变量)
1.设置周围环境的灯光
mSceneMgr->setAmbientLight(Ogre::ColourValue(1.0, 1.0, 1.0));
经过更改参数运行发现:
setAmbientLight是设置环境的光,如果没有设置这个属性,物体就没有阴影。
Ogre::Light* l = mSceneMgr->createLight("MainLight");这个是设置物体本身的光,
如果没有设置这个属性,物体的颜色就呈一整块,没有3D效果。
2.创建Entity
Ogre::Entity* ogreHead = mSceneMgr->createEntity("Head", "ogrehead.mesh");
3.在SceneManager的根节点下创建SceneNode子节点
Ogre::SceneNode* headNode
= mSceneMgr->getRootSceneNode()->createChildSceneNode("HeadNode");
4.附加Entity到SceneNode,在屏幕上显示
headNode->attachObject(ogreHead);
======================================================================
Ogre坐标系
屏幕左下角为原点,向右X正方向,向上Y正方向,像屏幕外Z正方向
Ogre环境
有3个库:主库、插件、第三方库
配置文件
plugins.cfg ---> 插件应用的配置
resources.cfg ---> 配置Ogre寻找资源的路径
media.cfg ---> Ogre一些资源更详细的信息
ogre.cfg ---> 屏幕的配置
quake3settings.cfg ---> 被用于BSPSceneManager
相关文章推荐
- 【学习笔记】OGRE Basic Tutorial 2
- OGRE1.7学习笔记一:编译ogre
- Unity学习笔记五 - Survival Shooter Tutorial
- Python学习网站(简明python教程,The Python Tutorial,Python学习笔记,啄木鸟社区)
- Ruby on Rails Tutorial 学习笔记 --第九章 更新、显示和删除用户
- Python Tutorial 学习笔记3 -- Python Data Structures
- deep learning tutorial 学习笔记
- TensorFlow学习笔记8----TensorFlow Linear Model Tutorial
- RFC 1180 - TCP/IP tutorial 学习笔记
- ExtJs学习笔记(2)_Basic GridPanel[基本网格]
- OGRE 入门 二、Basic Tutorial 1 : An introduction to the most basic Ogre constructs
- python tutorial 学习笔记(三)
- 开源3D图形渲染引擎OGRE学习笔记
- J2ee Tutorial 学习笔记(第一章)
- Ogre1.8.1 Basic Tutorial 6 - The Ogre Startup Sequence
- 支持向量机学习笔记:数学过程及经典Tutorial
- ffmpeg的tutorial中文版学习笔记(一)
- Ruby on Rails Tutorial 学习笔记 --第十章 用户的微博
- 学习笔记之一:OGRE1.8.0环境配置之错误篇
- ogre 学习笔记系列(二)三大模块及事件处理