记录Ogre

原创 2013年12月02日 13:36:08
// Do not add this to the application
RenderSystem *rs = mRoot->getRenderSystemByName("Direct3D9 Rendering Subsystem");
// or use "OpenGL Rendering Subsystem"
mRoot->setRenderSystem(rs);
rs->setConfigOption("Full Screen", "No");
rs->setConfigOption("Video Mode", "800 x 600 @ 32-bit colour");

You can use Root::getAvailableRenderers() to find out which RenderSystems are available for your application to use.
Once you have retrieved a RenderSystem, you can use the RenderSystem::getConfigOptions to see what options are available for the user.
By combining these two function calls, you can create your own config dialog for your application.

Creating a RenderWindow

Now that we have chosen the RenderSystem, we need a window to render Ogre in.
There are actually a lot of options for how to do this, but we will really only cover a couple.

If you want Ogre to create a render window for you, then this is very easy to do.
Add the following code to BasicTutorial6::go:

mWindow = mRoot->initialise(true, "BasicTutorial6 Render Window");

This call initialises the RenderSystem we set in the previous section.
The first parameter is whether or not Ogre should create a RenderWindow for you.

Alternatively, you can create a render window yourself using the win32 API, wxWidgets, or one of the many other Windows or Linux GUI systems.
A quick example of how to do this under Windows would look something like this:

// Do not add this to the application
mRoot->initialise(false);
HWND hWnd = 0;  // Get the hWnd of the application!
NameValuePairList misc;
misc["externalWindowHandle"] = StringConverter::toString((int)hWnd);
RenderWindow *win = mRoot->createRenderWindow("Main RenderWindow", 800, 600, false, &misc);

Note that you still have to call Root::initialise, but the first parameter is set to false.
Then, you must get the HWND of the window you want to render Ogre in.
How you get this will be determined entirely by the GUI toolkit you use to create the window (and under Linux I would imagine this would be a bit different as well).
After you have this, you use the NameValuePairList to assign the handle to "externalWindowHandle".
The Root::createRenderWindow function can then be used to create the RenderWindow class from the window you have already created.
Consult the API documentation on this function for more information.

 

地形的构建ogre地形shader 析解

地形的构建 以一个terrainSize为513的Terrain为例子,他应该分成多少个tile呢? 由maxBatchSize这个参数决定,numTiles = (terrainSize-1) ...
  • linuxheik
  • linuxheik
  • 2015年05月28日 10:47
  • 550

OGRE与Qt的结合(一)----使用OGRE渲染QWidget

最近几天开始重新学习Ogre,这次从源码编译了Ogre2.1,编译过程基本跟Ogre1.8.1类似,连第三方依赖库都是用的官网推荐的以前版本的,此处不多说了,网上有很多教程,现在给出下载连接。    ...
  • jidny
  • jidny
  • 2015年03月23日 20:58
  • 832

基于Ogre的角色控制器

基本框架首先参照这里配置好工程。添加一个类CharacterApplication,还有main.cpp.直接贴代码了。characterapplication.h#pragma once #incl...
  • qp120291570
  • qp120291570
  • 2015年02月25日 11:56
  • 1653

OGRE学习系列三:基础教程1 你的第一个场景

教程介绍:         第一节教程将包含构建OGRE场景的一些基础要素。首先需要关注的就是SceneManager,SceneNode,和Entity。一个实体(Enitity)就是以三维网格表示...
  • u012943043
  • u012943043
  • 2017年04月23日 22:13
  • 358

Ogre场景、节点、摄像机通过自动、鼠标、键盘控制移动

文章转自:http://www.cnblogs.com/kex1n/archive/2011/11/28/2266563.html 添加观察者模式的帧监听器,基于时间或者基于帧移动模型 class ...
  • y601500359
  • y601500359
  • 2015年03月23日 16:54
  • 911

OGRE学习笔记之 配置文件 Ogre.cfg

Ogre.cfg  OGRE 引擎将会在可执行文件所在的文件夹中生成一个 ogre.cfg 文件该文件保存了本次对话框的设置结果,下次显示对话框时会将上次的配置结果读入并直接显示。例子框架用 mRo...
  • buku2010
  • buku2010
  • 2014年02月25日 09:56
  • 479

ogre 入门教程

ogre 入门教程 先来看第一个ogre程序。 void TutorialApplication::createScene(void) { // Create your scene here...
  • cloud95
  • cloud95
  • 2015年07月22日 09:43
  • 503

自己做OGRE专用.mesh模型

http://blog.sina.com.cn/s/blog_5113a1690100a311.html 方法一: 首先给大家推荐一款免费软件DeleD 1.81 ...
  • smart_graphics
  • smart_graphics
  • 2015年04月21日 19:11
  • 940

从源代码开始构建Ogre图文教程(Ogre 1.8 Source + VS2010)

//--------------------------------------------------------------------------------------------------...
  • u013025310
  • u013025310
  • 2014年03月12日 20:58
  • 9674

OGRE 2.1 使用VS2015编译的过程以及问题的解决

OGRE 2.1 使用VS2015编译的过程以及问题的解决
  • z_dmsd
  • z_dmsd
  • 2017年03月21日 20:44
  • 1153
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:记录Ogre
举报原因:
原因补充:

(最多只允许输入30个字)