
OGRE入门
文章平均质量分 75
HowdChow
这个作者很懒,什么都没留下…
展开
-
7.shadow
Ogre::Entity* Sinbad = mSceneMgr ->createEntity("Sinbad", "Sinbad.mesh"); Ogre::SceneNode* SinbadNode = node ->createChildSceneNode("SinbadNode"); SinbadNode ->setScale(3.0f, 3.0f, 3.0f); SinbadNo翻译 2011-11-16 15:55:38 · 302 阅读 · 0 评论 -
16.particle
终于到了最后一节:粒子系统~惯例,直接上代码~首先是创建粒子系统的代码~ Ogre::ParticleSystem* partSystem1 = _sceneManager ->createParticleSystem("Firework1", "Firework"); Ogre::SceneNode* node1 = _sceneManager ->getRootSceneNode翻译 2011-12-20 23:31:07 · 552 阅读 · 0 评论 -
13.Shader
终于到了Shader部分,不过书中只有vertex shader和pixel shader,呃。而且书中是以CG为例子的,不过都差不多。写Shader需要在.material中先定义shader。fragment_program MyFragmentShader1 cg{ source Ogre3DBeginnersGuideShaders.cg entry_point MyFr翻译 2011-12-12 23:38:31 · 495 阅读 · 0 评论 -
15.startup
以前的所有例子都用到了ExampleApplication,这一节终于脱离ExampleApplication。直接上代码。int main(void){ ogre::root* root = new ogre::root("plugins_d.cfg"); if(!root ->showconfigdialog()) { return -1; } ogre::renderw翻译 2011-12-18 00:35:09 · 395 阅读 · 0 评论 -
12.material
material的主要是写脚本~material MyMaterial1{ technique { pass { texture_unit { texture leaf.png tex_address_mode clamp } } }}material MyMaterial11{ technique { pass {翻译 2011-12-05 20:09:23 · 291 阅读 · 0 评论 -
6.light
1.point light Ogre::Light* light1 = mSceneMgr ->createLight("Light1"); light1 ->setType(Ogre::Light::LT_POINT); light1 ->setPosition(0, 20, 0); light1 ->setDiffuseColour(1.0f, 1.0f, 1.0f);上面是创建翻译 2011-11-14 19:41:56 · 504 阅读 · 0 评论 -
5.creating a plane
进入了新的一章,light,camera,viewport之类的。第一小节说的是创建一个平面。先上代码:#include "Ogre\ExampleApplication.h"class Example1:public ExampleApplication{public:void createScene(){ Ogre::Plane plane(Ogre::Vector3::UNIT_翻译 2011-11-13 00:24:47 · 737 阅读 · 0 评论 -
4.translating&rotating in different spaces
再这样贴代码可不行啦......以后只能笔记式记录了......首先强调一点,ogre中使用的是右手坐标系。1.translating in different spacesnode ->translate(0, 0, 10, Ogre::Node::TS_LOCAL);node ->translate(0, 0, 10, Ogre::Node::TS_WORLD翻译 2011-11-11 00:26:31 · 394 阅读 · 0 评论 -
Ogre1.7 Beginner's guide
看OGRE的入门教程也有一段时间了,有那么一点感觉,估计这是我最后的一本入门教程吧。这是1.7的教程,书比较新,估计不错。为了保留学习中的心得,决定将重要部分翻译放到博客中~~~临近各种考试了,估计要看很久吧~~~预计完成日期12.25圣诞前~~~加油~~~翻译 2011-11-05 16:35:35 · 486 阅读 · 0 评论 -
2.rotation
废话少说,仿照上一篇建立一个新项目,createScene()为空。加入一下代码:Ogre::Entity* ent = mSceneMgr ->createEntity("MyEntity", "Sinbad.mesh");Ogre::SceneNode* node = mSceneMgr ->createSceneNode("Node1");node ->setPosition(10,翻译 2011-11-08 23:21:37 · 485 阅读 · 0 评论 -
1.starting
一、显示窗口第一个项目必然是显示一个黑乎乎的窗口。这样的开始项目写过好几个了,现在做写总结。1.INCLUDE和LIB的路径设置,主要就那么几个 INCLUDE:1)SDK\include; 2)SDK\boost_1_44; LIB:1)SDK\boost_1_44\lib 2)SDK\lib\debug(这个项目在debug下编译运行,如果release翻译 2011-11-06 13:21:32 · 365 阅读 · 0 评论 -
3.scaling
接下来就是形变。注意这里出现了一个创建子节点的新方法。这里只贴出createScene()。另外有一个setScale(),和scale()差不多。void createScene(){Ogre::Entity* ent = mSceneMgr ->createEntity("MyEntity", "Sinbad.mesh");Ogre::SceneNode* node = mSce翻译 2011-11-10 18:17:23 · 394 阅读 · 0 评论 -
10.animation
1.使用模型中预设的动画Ogre中使用这个变量保存动画状态:Ogre::AnimationState* _aniState;主要用到的函数有: _ent = ent; _aniState = _ent ->getAnimationState("Dance"); _aniState ->setEnabled(true); _aniState ->setLoop(true翻译 2011-11-18 15:35:31 · 395 阅读 · 0 评论 -
11.scene manager
进入新的一章,建立新一个空项目,依然基于ExampleApplication,createscene()为空。1.手选scene manager和加载地图 virtual void chooseSceneManager(void) { ResourceGroupManager::getSingleton().addResourceLocation("../../media/pac翻译 2011-11-20 15:51:27 · 470 阅读 · 0 评论 -
9.user input and frame listener
这一次整整把一章看完了,那就一下子来一章的内容吧。用户输入主要包括键盘和鼠标输入,要处理这两类信息,必须使用OIS和frame listener。这需要创建一个新类继承Ogre中基本的framelistener,然后在构造函数中创建OIS系统和需要监控的设备,对信息的处理可以在framestarted中进行,也可以在frameended或者framerenderingqueue中进行,对输入的翻译 2011-11-17 23:17:54 · 491 阅读 · 0 评论 -
8.camera and viewport
基于上一个程序添加代码。1.camera只需要重写createcamera()就可以了,这里mCamera是ExampleApplication的一个成员。void createCamera(){ mCamera = mSceneMgr ->createCamera("MyCamera1"); mCamera ->setPosition(0, 100, 200); mCamer翻译 2011-11-16 17:27:56 · 372 阅读 · 0 评论 -
14.Compositor
终于到了合成器框架~对合成器我的理解就是一个针对某个ViewPort的pixelShader......嗯下面是一个合成器的例子:compositor Compositor5{ technique { texture scene target_width target_height PF_R8G8B8 target scene { input previous翻译 2011-12-15 23:35:08 · 689 阅读 · 0 评论