
Ogre
伟业
Ogre VR程序
展开
-
Ogre1.7下配置CEGUI0.7.1
<br />环境:VS2005 DX9 OGRE1.7.1 CEGUI0.7.1<br /><br />1.首先你要下载一个CEGUI0.7.1,如果有支持文件包的话把支持包放到CEGUI的SDK下。并在VS中包含CEGUI。(不知道是否必须)<br /><br />2.之后对你的CEGUI进行编译。具体做法是先在CEGUI的SDK下找到并打开premake文件夹,如在我的这边目录是:C:/Program Files/CEGUI/projects/premake。找到其中名为config.lua的文件,用记转载 2010-09-25 15:09:00 · 992 阅读 · 0 评论 -
Ogre粒子编辑器教程-------翻译
在这个教程中我们将创建一个简单的粒子系统效果。通过创建这个基本的粒子系统我们将熟悉很多编辑器的界面,希望我们将知道这个编辑器和Ogre的粒子系统能做什么。<br />在本教程中我们将创建一个这样的粒子系统,一个简单的喷洒效果<br />提示:本教程假定你没有修改编辑器的任何数据文件。<br />好了,打开粒子编辑器。默认的粒子系统将被加载到背景,所有主要编辑窗口都将显示出来,除了Editor Options 窗口虽然显示但默认只显示标题。<br />打开Template Management 窗口(译者翻译 2010-09-25 15:50:00 · 844 阅读 · 0 评论 -
Hydrax简介和HydraxDemo.hdx参数说明
<br />1.什么是Hydrax?<br /><br />Hydrax是一个Ogre的add-on项目用于提供一个简单易用的库来渲染水。<br />他包括所有的效果并且都是可配置的,类似水深,平滑转换,水泡效果,腐蚀效果等等,这些都可以实时的选择,并且他们不依赖于像 Rtt's texture quality, Mesh size, grid complexity, perlin noise textures size, hydrax components这些shaders。<br />2.HydraxD原创 2010-09-25 15:55:00 · 1611 阅读 · 0 评论 -
Ogre命令行工具包使用说明
<br />这个工具包包含了一些对Ogre资源文件进行操作的预处理命令行工具。<br />它包括OgreXMLConveter, OgreMeshUpgrade, OgreMaterialUpgrade和MeshMagick。<br />您可以在这里获得其WindowsV1.4.7版本的下载,或者在这里获取其MacOSXV1.4.0版本的下载。以上两个版本均是2008年3月6日的版本,即译者进行翻译的版本,若需要更多信息和更新的版本,可以访问Ogre官方。<br />.[OgreXMLConveter]<b原创 2010-09-25 14:50:00 · 754 阅读 · 0 评论 -
Ogre插件介绍
<br />近年来,网络游戏的发展日新月异,这离不开游戏引擎,而游戏引擎中最重要的莫过于渲染引擎,因为它直接影响游戏的画面质量和视觉效果。渲染引擎编辑器是针对某款渲染引擎而开发的工具,通过渲染引擎编辑器,开发人员无需了解渲染引擎的内部构架、工作原理,无需编码便可创作出效果良好的场景供三维应用程序使用,大大提高了开发效率,节省了开发成本。 <br /> <br />2 OGRE简介<br />开源图形渲染引擎OGRE(Open-source Graphics Rendering Engine)是一款开源的、面原创 2010-09-25 14:53:00 · 2107 阅读 · 2 评论 -
构建Ogre1.6 + CEGUI0.7.1 + CELayoutEditor0.7.1
<br />需要下载的东西,我一般都是下载的源代码,编译器是vs2008(sp1),系统是xp(sp3)。<br />1、编译ogre<br />ogre:http://www.ogre3d.org/download/source <br />在这里面找到源代码 OGRE 1.6.5 Source For Windows 依赖包:Visual C++.Net 2008 (9.0) Precompiled Dependencies<br />可能要用到DX的sdk,我不知道,反正我是安装了的。<br />解压原创 2010-09-25 15:37:00 · 1167 阅读 · 0 评论 -
Ogre中摄像机的一些相关函数
<br /><br /><br />//创建摄像机<br />//sceneManager是一个已经存在的场景管理器实例的指针。<br />//我们在这里构建名称为“MainCam”的摄像机。<br />Camera *camera = sceneMgr->createCamera(“MainCam”);<br /> <br />//并不需要计算什么,可以直接从视口中得到这个尺寸 这里现实视口比例是4:3<br />camera->setAspectRatio(1.333333f);<br /> <br /原创 2010-09-25 15:43:00 · 1041 阅读 · 0 评论 -
terrain.cfg参数详解
<br />terrain.cfg文件包含了许多生成地面的选项,和以往一样,我只会讲一些基础的东西,更详细的内容可以在/*这里*/找到。需要注意的是,地面场景管理器设计的时候包含了分页的功能,只不过还没有被实现。不过OGRE有一个插件目前可以实现这个功能:Paging Scene Manager。 <br /> 地面场景管理器使用高度图(Heightmap)来生成地面。你可以通过更改Heightmap.image的参数来改变高度图。你可以通过更改WorldTexture来更改地面的帖图。你还可以通过更原创 2010-09-25 15:44:00 · 950 阅读 · 1 评论 -
AxisObject类源码极其调用(生成一个Axis)
#ifndef _AXIS_OBJECT_H_#define _AXIS_OBJECT_H_class AxisObject{ enum BoxParts { BOX_NONE = 0x00, BOX_TOP = 0x01, BOX_BOT = 0x02, BOX_FRO原创 2011-07-22 15:24:59 · 1032 阅读 · 0 评论 -
关于Ogre四元数类的一些解释
静态数据成员Quaternion Quaternion::ZRE)(0.0, 0.0, 0.0, 0.0); 零四元数Quaternion Quaternion::IDENTITY(1.0, 0.0, 0.0, 0.0) 单位四元数构造函数Ogre::Quatern原创 2011-07-22 14:45:23 · 1466 阅读 · 1 评论 -
Ogre粒子系统脚本详解
粒子脚本允许实例化地在自己的脚本代码中定义粒子系统,而不必在源代码中进行设置,可以在做任何修改对哦能得到快速的回应,脚本里定义的粒子系统被用作模版,并且多个实际的系统可以在运行时从脚本里被创建。 粒子系统脚本在系统初始化时被装载:默认它在普通资源所在位置搜寻.partic原创 2011-07-15 08:27:58 · 3290 阅读 · 0 评论 -
Ogre射线精确查询
bool PickEntity(Ogre::RaySceneQuery* mRaySceneQuery, Ogre::Ray &ray, Ogre::Entity **result, Ogre::uint32 mask ,Ogre::Vector3 &hitpoint, bool原创 2011-07-15 09:04:29 · 2549 阅读 · 1 评论 -
Ogre中的四元数Quaternion与旋转
<br />想象一个物体在3D空间中移动的过程,该物体必然会涉及到旋转。例如一个怪物,他的运动方向会改变,要改变其方向只需要对其进行旋转即可。<br /><br />旋转的方式大致分为三种:Euler旋转,矩阵旋转,以及四元数旋转。<br /><br />这里稍微记录下我目前对于四元数旋转的理解。对于四元数方面的数学,以及其原理,这里不关心,只需要学会如何使用即可。<br /><br />无论是哪一种旋转,物体与该物体的局部坐标系之间的相对位置,相对方位都是不会改变的。因此,在进行两个局部旋转(即相对于局部原创 2010-09-25 15:31:00 · 932 阅读 · 0 评论 -
Ogre 3D程序设计 Ogre材质2
<br />代码 6-6:在Samples/Media/materials/scripts/Examples.program中的程序声明<br /><br />//Basic hardware skinning using one indexed weight per vertex<br /><br />vertex_program Ogre/HardwareSkinningOneWeight cg<br /><br />{<br /><br />source Example_Basic.cg<br /><转载 2010-09-25 15:25:00 · 897 阅读 · 0 评论 -
Ogre的四元数quaternion
<br />quaternion是一个标量和一个3D向量的组合。q={ w,x,y,z},Ogre中一个默认的quaternion ={1,0,0,0} ,一般用于空间一点的旋转,假设空间一点叫p,将要旋转角度是α,旋转轴是(x,y,z),那么:<br />p={0,x0,y0,z0}<br />q= {cos(α/ 2) , sina(α/ 2) Nx, sin(α/ 2)Ny, sin(α/ 2)Nz } (N为单位向量)<br /> <br />p结果 =q*p*q-1 <br /> <br />在数原创 2010-09-25 15:14:00 · 576 阅读 · 0 评论 -
让Ogre支持中文路径与中文文件名
<br />VS2005之后版本的std::fstream对中文路径处理不正确的原因,所以加载中文路径或文件名不成功,解决办法:在主函数开始加入<br /> <br />setlocale(LC_ALL,"Chinese-simplified");原创 2010-09-25 15:12:00 · 470 阅读 · 0 评论 -
Ogre引擎粒子系统
<br />实体(Entity)<br /><br />一个实体是场景里一个可移动的物体的具体实例。唯一的假设是它在世界空间里没有一个固定的位置<br /><br />。<br />实体必须连接到一个结点上才真正成为场景的一部分。<br />当一个实体被载入后,一系列预定义的材质也一齐被载入。<br />一个网格可能不仅仅只用一种材质。网格的不同部分可以使用不同的材质。<br />一个网格对象实际上包含着几个子网格对象(根据它所包含的材质数目)。如果一个网格只有一种材<br /><br />质可用,那么它就转载 2010-09-25 15:28:00 · 1011 阅读 · 0 评论 -
Ogre的BSP地图和简单机器人动作控制实例
<br /><br /><br /><br />//本代码 BSP地图 简单 机器人动作控制<br />#include <Ogre.h> //OGRE主文件<br />#include <OIS/OIS.h> //输入控制文件<br />#include "ExampleFrameListener.h" //监听类<br />using namespace Ogre; //使用 命名空间<br />SceneManager* sceneMgr; //主场景 管理器 对象<br />Cam原创 2010-09-25 15:39:00 · 1008 阅读 · 0 评论 -
Ogre正常初始化(0xc0150002)失败 解决办法
<br />如果是vc8.0(vs2005)<br />安装以下两个补丁<br /><br />第一个补丁 :<br />VS80sp1-KB926604-X86-CHS.exe(中文版)<br /><br /><br />http://www.microsoft.com/downloads/details.aspx?FamilyID=bb4a75ab-e2d4-4c96-b39d-37baf6b5b1dc&DisplayLang=zh-cn<br /><br />VS80sp1-KB926604-X86-原创 2010-09-25 15:41:00 · 805 阅读 · 0 评论 -
PagedGeometry插件介绍
<br />1,介绍: <br />PagedGeometry是OGRE引擎的一个插件,它对(无穷)大区域的海量网格的渲染提供优化策略。它非常适合于稠密的森林和室外场景,那里有海量的树,草,岩石,灌木丛等场景对象。<br /><br />2, PagedGeometry管理<br />PagedGeometry class<br />该类负责加载那些需要立即(或很快)可见的场景几何,而不加载其他的场景以节约内存空间。PagedGeometry引擎可以通过诸如静态几何,imposters等方法去显示实体对象(原创 2010-09-25 15:58:00 · 752 阅读 · 0 评论 -
Ogre 3D程序设计 Ogre材质1
<br />“材质(material)”,材质是一个很基本的术语,表示你的物体对光的反射方式。但是对它的实现并不像其解释这样简单,我们会用这一章节进行详细地介绍Ogre中相关的技术。<br /><br /><br /><br />我们刚才提及过,材质定义了物体对光线反射的处理方法。这里暗示了材质的表现与光源的类型相关:聚光(Spotlights)、点光源(point lights)以及有向光(directional lights)对材质的表现有着完全不同的影响。简单来讲,它们都是对物理世界真实光源类型的模拟转载 2010-09-25 15:18:00 · 819 阅读 · 0 评论 -
Ogre静态管线和手绘Mesh ManualObject
<br />先说ManualObject<br />MannualObject mo;<br />mo.begin("Examples/GrassBlades",RenderOperation::OT_TRIANGLE_LIST);<br /> for (int i=0;i<3;++i)<br /> {<br /> mo.position(-vec.x,height,-vec.z);<br /> mo.textureCoord(0,0);<br /> mo.position(vec原创 2010-09-25 15:33:00 · 952 阅读 · 0 评论 -
CEGUI显示中文解决办法
<br />在使用CEGUI中,一直没发现不能直接显示中文,后来在网上找到了解决方法:<br /> 1.找到一个中文字体,以微软黑体为例:找到C:/WINDOWS/Fonts目录下的"simhei"文件,拷贝到Ogre字体目录(如D:/ogre /Samples/Media/fonts)下。<br /> 2.D:/ogre/Samples/Media/gui目录下创建一个名为"simhei-12.font"文件,用记事本打开,添加如下内 容:<?xml version="1.0" ?><Fo原创 2010-09-25 15:46:00 · 898 阅读 · 0 评论 -
Ogre添加外部资源管理器
<br />Bootstrap]<br /><br />Zip=../../Media/packs/OgreCore.zip<br /><br /><br /><br /># Resource locations to be added to the default path<br /><br />[General]<br /><br />FileSystem=../../Media<br /><br />FileSystem=../../Media/fonts<br /><br />FileSystem=原创 2010-09-25 15:53:00 · 815 阅读 · 0 评论 -
ExampleFrameListener类详解
<br />1. OGRE的事件模型。 OGRE事件处理采用的是public subscribe mode, 即发布式订阅模型。通常的场景如下: 对象A试图在对象B产生C类型事件的时候 执行指定的动作,于是,对象A告知对象B当产生C类型事件的时候给自己发出一个通知。整个过程涉及到以下元素,<br /> *事件源 (Event Source)。通常是GUI对象或者用户输入, 或者某个对象内部产生的事件。例如现在Root对象 就是一个事件源,它从内部产生 FrameEvent事件。<br />*事件处理对原创 2010-09-25 14:26:00 · 809 阅读 · 0 评论 -
ogre中设置渲染性能参数
<br />在ogre示例框架程序启动时,我们会看到一个配置窗口,在这个Rendering Setup配置窗口中,我们可以设置窗口启动大小、抗锯齿度、是否垂直同步、是否Gamma校正等。在Ogre::Root中有showConfigDialog方法来显示配置窗口,ogre会自动调会Root::restoreConfig来填充这个窗口中的参数。<br /> 如果我们不想用ogre的配置窗口来设置参数怎么办呢? 我们一般不会在启动自己的游戏的时候使用ogre自带的配置窗口,这时就需要自己向ogre传原创 2010-09-25 14:29:00 · 930 阅读 · 1 评论 -
Tubes类(利用顶点缓存生成圆柱体,主要应用地下管网等模型)
#ifndef _TUBES_H_ #define _TUBES_H_ #include #include #include namespace Ogre { class SeriesOfTubes { public: Series原创 2011-07-26 10:07:17 · 1529 阅读 · 0 评论