OGRE
文章平均质量分 93
cgnerds
这个作者很懒,什么都没留下…
展开
-
Ogre渲染优化心得(五) -- 用硬件蒙皮代替软件蒙皮,用GPU代替CPU
<br /><br />骨骼动画的计算,是比较费时的,因为数据量大.<br />这部分数据,用CPU计算,就是软件蒙皮,用GPU去计算,就硬件蒙皮<br />1.软件蒙皮<br />Ogre本身已经实现了软件蒙皮,默认情况下就是软件蒙皮,计算的代码在void Entity::updateAnimation(void)<br />2.硬件蒙皮<br />需要用shader,把计算放到GPU里面去处理,而shader的代码,也不用自己去写,Ogre本身例子就带有一个支持2个权重的顶点程序,<br />因为一个顶转载 2011-04-25 00:08:00 · 1839 阅读 · 0 评论 -
CG资源与教程
艺术类http://www.deviantart.comwww.cgebook.com素材艺库http://www.ekoooo.com/index.html模型下载 http://www.cgmodel.cn/http://www.gfxworld.ws/ http://www.rapidsharegfx.com/index.phpSiggraph 2009原创 2011-06-20 15:18:00 · 1284 阅读 · 0 评论 -
ogre的主要渲染流程
<br /> 很早以前就想写一些关于OGRE的文章了,一直没机会。 <br />理解一个渲染引擎,我觉得最重要的是先抓住了它的主架构,它的主线,渲染流程,不然的话,一个引擎几万行,甚至几十万行的代码,光是打开solution就能吓你一跳了,OGRE也有十几万行的代码量,我一开始看它的时候也是无从下手,感觉代码太多了,不知道从哪开始看好,这个class看看,那个class看看,由于对整个引擎没有一个清晰的认识,看过了也印象不深,所以,最后,还是决定先找出它的主线,了解它的渲染流程,这样才能有机地把各个部分原创 2011-04-26 23:49:00 · 992 阅读 · 0 评论 -
Ogre 如何渲染简单的几何物体
<br />Ogre 如何渲染简单的几何物体<br />使用ManualObject或者其派生类渲染简单的几何物体, 步骤如下:<br /> 1. 新创建一个ManualObject对象<br /> mManualObj = new Ogre::ManualObject("SimpleStuff2");<br /> 2. 设置该ManualObject的参数<br /> 1) 设置其渲染序列组<br /> mManualObj->setR转载 2011-04-26 15:03:00 · 976 阅读 · 0 评论 -
OGRE中实现Transparency
在.material文件,可以将参数scene_blend设置为add,modulate或alpha_blend.(1) scene_blend add(是将渲染出的颜色和亮度一起叠加到渲染场景中)你可以使用JPEG或PNG图像文件作为纹理。图片的黑色部分将变成透明(即black = fully transparent)通常用作爆炸、火焰、灯光等。(2)scene_blend原创 2011-06-20 10:55:00 · 2565 阅读 · 0 评论 -
OGRE中材质脚本属性
顶层Material属性属性名值的格式描述lod_distances [ ... ]LOD的距离列表receive_shadows|阴影是否会投在这个物体上(默认为on)transparency_casts_shadows|原创 2011-06-20 11:01:00 · 2599 阅读 · 0 评论 -
ogre demo集成了caelum、hydrax
在原来 demo 的基础上集成了 caelum 、hydrax。hydrax的demo中波浪很大,和我demo里的terrain很不协调。 在 hydrax demo 中 main.cpp 中将如下代码: view plaincopy to clipboardprint?// Create our projected grid module转载 2011-06-20 15:19:00 · 2408 阅读 · 0 评论 -
OGRE中常见问题解决
(1)截屏OGRE 1.7利用Render To Texture技术自动了截屏功能,图片保存的默认路径是工作目录,即生成的.exe所在的目录。(2)帧率显示框有重叠的阴影找到OGRE/SdkTray.h文件,在frameRenderQueued函数中将oss 改为oss (3)鼠标移出窗口请看我的博客《OGRE 1.7 鼠标非独占使用》。(4)鼠标旋转视角其实就是旋转摄像机,如果是Ogre 1.原创 2011-06-12 19:46:00 · 1563 阅读 · 0 评论 -
层(Overlays)
<br />From OGRE 3D 中文Jump to: navigation, search<br />层(Overlays)允许你在一般的场景内容上绘制2D或3D元素,例如:提示信息(heads-up displays(HUDs))、菜单系统、状态栏等。OGRE系统中的帧状转载 2011-04-01 22:53:00 · 1302 阅读 · 0 评论 -
OGRE中的四元数与旋转
想象一个物体在3D空间中移动的过程,该物体必然会涉及到旋转。例如一个怪物,他的运动方向会改变,要改变其方向只需要对其进行旋转即可。 旋转的方式大致分为三种:Euler旋转,矩阵旋转,以及四元数旋转。 这里稍微记录下我目前对于四元数旋转的理解。对于四元数方面的数学,以及其原理,这里不关心,只需要学会如何使用即可。 无论是哪一种旋转,物体与该物体的局部坐转载 2011-10-19 23:08:44 · 1135 阅读 · 0 评论 -
使用Ogre自带UI(SdkTrays)创建应用程序
(1)主程序界面采用SampleBrowser包含文件为FileSystemLayerImpl.h,FileSystemLayerImpl.cpp,SampleBrowser.h和SampleBrowser.cpp共四个文件。创建项目的时候选择Windows应用程序。(2)运行程序根据Ogre自带例子修改,创建的时候选择DLL。代码如下:Motion原创 2011-11-24 16:53:35 · 3451 阅读 · 0 评论 -
几款引擎比较:BigWorld,Unreal,CryEngine等
版权声明:转载时请以超链接形式标明文章原始出处和作者信息及本声明http://lenshuang.blogbus.com/logs/108761724.html自由骑士笃志原创- -欢迎转载,呃BigWorld:澳大利亚优点: 1:动态负载均衡,服务器承受能力好。 2:服务器有较高的容错性,对服务器状况有专业的记录和管理报表分析。 3:功能全面,使用非常方便,开发速转载 2011-06-17 16:29:00 · 2674 阅读 · 0 评论 -
目前游戏行业内部主要几款游戏引擎的技术对比
如果只有客户端的话,可以考虑用gamebryo,技术好一点,用ogre也可以,如果规模不大,用unity3d,如果很有钱,要效果很好的,用unreal3,bigworld是带服务器的,如果能力不够,最好不要自己写。 如果使用Ogre需要投入较多的人力和物力,因为Ogre是开源的,工具不齐全,使用其他流行的引擎需要购买授权,可以在Ogre的基础上做东西,并且可以宣称是自主研发的,没有人会转载 2011-06-17 16:16:00 · 3601 阅读 · 0 评论 -
将Shader嵌入Ogre(固定渲染管线到可编程渲染管线)
<br /><br />引言:一般的,ogre是使用固定渲染管线,嵌入可编程管线,可借助GPU,提供更多更丰富的效果。<br />//-----------------使用脚本加入shader(.material或者.programe使用.hlsl etc)----------<br />1、声明(不是写shader程序)<br /> 这儿声明的意思:不是写Shader程序(这个着色程序一般在.hlsl/.glsl/.cg后缀的文件里面),而是用于设置ogre与Shaer的桥梁,内容就是shade转载 2011-04-25 00:16:00 · 3047 阅读 · 0 评论 -
Shader学习心得
<br /><br /> 以下的教程由乌龟和毛驴的技术小屋原创,转载请注明原始文章出处,并保留这段话,请勿侵权.<br /> 1.1 序言<br /> 以前一直觉得,学习shader最好是在Visual Studio的环境下进行学习,因为这样不仅能够学到DirectX和C++的一些使用方法,而且对于Shader在实际应用时也有好处.结果今天就碰得灰头土脸的.<br /> 1.2 碰壁过程<br /> 下面是我的程序段:<br /> <br /> ID3DXEffect* g_pEffect转载 2011-04-25 00:18:00 · 2510 阅读 · 0 评论 -
Ogre手动绘制模型以及添加材质
<br /><br />1.用Ogre来绘制一个立方体ManualObject* cube;cube = mSceneMgr->createManualObject("cube");cube->begin("cubeMaterial"); // 顶点 cube->position( -100, -100, -100); //0 cube->colour(0.0, 0.0, 0.0); cube->position( 100, -100, -100); /转载 2011-04-24 23:46:00 · 1257 阅读 · 0 评论 -
Ogre的WeaponTrail (刀光)
<br /><br />就是刀光拖尾效果,这个挺有意思,Ogre竟然单写了一个类来实现这个功能。名字叫做RibbonTrail。<br />不过这个类似乎并不太好用,实现的效果是从手握武器的位置沿相对衬的两个方向延伸出片,这样的话,如果手里是把剑,那么效果就不对了。如果手里的武器是长枪,因为手握得位置也不是正中间,所以也不对。。。。<br /> 于是又有人写了一个WeaponTrial类来解决这个问题。但是他没有处理缩放问题,所以在连接点从父节点带来的缩放矩阵影响下,刀光的宽度就会有问题,除非你的人物的骨转载 2011-04-25 00:11:00 · 1712 阅读 · 0 评论 -
Ogre的官僚主义批判
<br /><br />Ogre的Manager真是多啊,就象个官僚公司,干事的没几个,一堆的Manager,个个丫还都是Singleton.说自己是Singleton却又public构造函数,让人来new它.在第1次被new的时候,偷偷地将this赋给静态成员ms_Singleton,第2次new它就要assert喊冤了,当然这都是叫Singleton的模板基类的那个构造函数干的(典型的小人行径,见不得光).Manager一多,本来不复杂的事,也变得复杂了.<br />1.LogManager<br />转载 2011-04-25 00:15:00 · 1498 阅读 · 0 评论 -
Ogre中Fresnel例子分析
最近需要在研究水实现,在客户端中加入了水来测试,简单的实现水的折射、反射。备注:在OGRE1.7的例子Demo_Fresnel中已有展示。关键词:RTT Fresnel 实现方法:首先必须手动创建两个Texture,一个用于渲染反射、一个用于渲染折射。最后通过Fresnel作为权重,在refraction和reflection两张纹理颜色插值。 需要注意的:转载 2011-06-17 11:01:00 · 1170 阅读 · 0 评论 -
3dmax导出插件-tiamo
新年第一贴,说说3dmax的导出插件 3dmax的导出插件是用来把做好的3d模型导出成自己引擎需要的格式的一个dll,它由3dmax加载调用.具体怎样去写一个插件,小T不多说,在3dmax的sdk里面有比较详细的介绍,在google上面也能搜索到不少的源代码,这里说的只是3dmax的数据组织方式,以及怎么获取转换3dmax的数据. 3dmax里面一个比较重要的概念就是INod转载 2011-06-15 19:12:00 · 1553 阅读 · 0 评论 -
3DMax导出插件的制作
3Dmax导出插件制作(译文)前言:本教材将建立一个3dMax导出插件。目的是帮助使你掌握建立MAX插件的基础知识和学习怎样从3ds max中导出场景数据。本教材一共五个部分,每一部分都带有相应源码,相应的目录如下:第一节:开始第二节:几何体第三节:灯光和纹理第四节:动画和修正第五节:定制数据注:MaxSDK 类 ,用Iderivedobject 格式M转载 2011-06-15 19:24:00 · 3041 阅读 · 0 评论 -
OGRE中的人脸动画
[前言:在Ogre的Facial Demo中采用了顶点动画(确切点说是Pose Animation)让面部产生面部表情及发音动画,本文简单介绍了顶点动画的概念,并结合Facial Demo,探讨如何实现Pose Animation。] 顶点动画是直接使用顶点让网格(mesh)产生动画的一种方式。每一组动作在顶点动画中对应一个顶点数据实体。顶点动画被存储在.mesh文件中,因为它与网转载 2011-06-16 10:17:00 · 938 阅读 · 0 评论 -
3dsmax模型导出插件调试技巧
以前调试3dsmax的模型导出插件总是很头疼,因为3dsmax的插件是在启动的时候加载进去,在运行中是无法卸载的,这样每一次修改都得重启3dsmax,而且3dsmax的启动时间还特别长,很是郁闷.昨天晚上没事逛书店,偶然发现一本书在讲3dsmax的导出插件,提到了关于调试的一个小技巧,欣喜若狂,立马回家试验了一下,果然很爽. 其实很简单,就是再写一个dll,实际的操作都在这个dl转载 2011-06-15 19:08:00 · 1513 阅读 · 0 评论 -
Ogre中实时切换多个模型
通过按主键盘的1和2键可切换两个模型。代码如下:MeshViewer.h#ifndef __MeshViewer_H__#define __MeshViewer_H__#include "BaseApplication.h"using namespace Ogre;using namespace OgreBites;class MeshViewer : public Bas原创 2011-11-24 17:01:34 · 1664 阅读 · 0 评论 -
使用bvh数据实现OGRE骨骼动画
忙活了一段时间,终于在数据资料驴唇不对马嘴,导出插件严重不靠谱,参考资料不仅数量少而且质量也不高的基础上,完成了读取动作捕捉设备获取的bvh数据并驱动Maya导出模型,最终在OGRE中实现了骨骼动画。表面看起来实现OGRE骨骼动画很简单,就是将bvh中各关节的数据赋给OGRE骨骼动画。实际实现的时候会发现有很多细节的问题需要注意,如bvh关节怎样和模型的关节对应起来,如果bvh有22个关节,而原创 2011-10-22 19:23:01 · 6165 阅读 · 25 评论 -
Ogre中使用HLSL的一个例子
本文主要参考的是http://www.ogre3d.org/tikiwiki/HLSL&structure=Cookbook,并据此写了一个在Ogre中使用HLSL的例子。在Ogre中使用HLSL主要分为三部分,首先是材质脚本的编写,其次是顶点shader和片段shader的编写,最后是在应用程序中使用以上程序。我这个例子的功能是将一个模型赋予纹理贴图。详细的就不解释了,看参考的网址即可,主要是注原创 2011-12-10 16:05:07 · 2242 阅读 · 0 评论 -
Ogre换装系统
转自:http://blog.csdn.net/trcj1/article/details/6607209Ogre换装系统 角色换装作为游戏里一个古老而不可或缺的系统,各个引擎都有完备支持,Ogre也不例外。 尽管网上一些讨论把Ogre换装说得讳莫如深,实际上它还是很简单的。早在05年提及这个问题时,sinbad也只是说了一句“use Ent转载 2012-03-08 10:07:05 · 2304 阅读 · 0 评论 -
图形库坐标矩阵
转载地址:http://www.cnblogs.com/siphen/articles/1881974.html最近在几种图形api与渲染引擎环境中来回切换,比较下矩阵运算opengl 右手坐标系 列向量 左乘 列主序存储矩阵osg 右手坐标系 行向量 右乘 行主序存储矩阵d3d 左手坐标系 行向量 右乘 行主序存储矩阵ogre转载 2012-03-26 15:52:41 · 1507 阅读 · 0 评论 -
Crysis深度剖析与优化指南
原始出处:http://bak2.beareyes.com.cn/2/lib/200711/06/20071106421_1.htm备用:(1-8)http://www.cnblogs.com/lai3d/archive/2009/10/10/1580671.html(9-17)http://www.cnblogs.com/lai3d/archive/2009/10/11/1580原创 2012-02-16 20:04:42 · 949 阅读 · 0 评论 -
Ogre着色方式和光照模型(shading mode vs lighting model)
(1) 着色方式shading Ogre有三种着色方式,分别为shading flat/gouraud/phong。当动态光照打开时,该选项的作用是生成每个顶点的颜色,决定是否在该三角面上插值及如何插值。Flat不进行插值,每个三角面的颜色都由该三角面的第一个顶点色决定;Gouraud对三角面上每个顶点颜色进行线性插值计算;Phong对三角面上的顶点法线进行插值,并以此决定每个像素原创 2012-06-05 17:30:05 · 3859 阅读 · 0 评论 -
3D引擎--可移植到Android的开源的引擎
随着android在全球的风靡,越来越多的人将自己的目光投向搭载android的移动设备,但由于手持设备的局限性,怎样利用有限的资源来达到很好的体验,是设备厂商必须要考虑的问题,其中炫目的界面就是可以增加用户体验的一种方式。这其中,3D效果无疑是对用户最具吸引力和说服力的。而3D引擎可以大大节省开发3D的成本,所以做了一次调查,此次调查的引擎必须满足以下:开源:便于更改代码,优化性转载 2012-06-09 11:24:32 · 1782 阅读 · 0 评论 -
蒙皮算法LBS和DQ比较
Ogre 1.8 RC中已经包含了DQ的实现,但是目前只能处理每顶点双骨骼的情况,参考论文《Geometric skinning with approximate dual quaternion blending》,我对其进行了扩充,能够实现每顶点四骨骼的情况,并进行了简单的速度比较。首先是用LBS的软件实现,帧率约为380。结果如下然后是LBS的GPU实现,帧率约为510原创 2012-05-22 16:39:16 · 6592 阅读 · 1 评论 -
LightHouse3D的GLSL教程
英文教程:http://www.lighthouse3d.com/tutorials/glsl-tutorial/中文翻译:(一)图形流水线(二)在OpenGL中使用GLSL(三)在OpenGL中向Shader传递消息(四)Shader的简单示例(五)卡通着色(六)逐顶点的光照(七)逐像素的光照(八)纹理贴图(九)其他说明原创 2012-06-13 22:18:44 · 1957 阅读 · 0 评论 -
最简单的Ogre系列之四——球体场景查询
Ogre中集成了简单的碰撞检测查询,包围体方面只有AABB和Sphere两种场景查询,没有层次包围体的概念,可以作为最基础最简单的碰撞检测。下面是我实现的代码,其中的BaseApplication可以见以前的博客,模型资源Sinbad和Sphere都是Ogre自带的。#ifndef __Ogre_Rigid_Simple__H__#define __Ogre_Rigid_Simple__原创 2012-06-14 10:43:09 · 2776 阅读 · 0 评论 -
最简单的Ogre系列之五——AABB场景查询
在球体场景查询的基础上,增加了AABB场景查询,并给与了碰撞次数的显示。需要设置的全局变量是int mCollisionNumber;// OgreBitesOgreBites::ParamsPanel* mCollisionPanel;下面的函数是设置碰撞次数的显示//-----------------------------------------------原创 2012-06-14 16:32:55 · 3046 阅读 · 0 评论 -
Pick原理
转自:http://www.cnblogs.com/winsonchen/archive/2008/03/16/1108461.html在游戏及编辑器中经常用到pick拾取世界坐标系中的几何物体,今天周末有空整理下推导公式。第一步:获取Picking Ray给出窗口坐标W(x,y)、width、Height、Camera设置,返回射线原点及方向。推导过程:窗口坐标->屏幕(视口转载 2012-03-05 22:41:14 · 1227 阅读 · 0 评论 -
Ogre及Kinect中的坐标(不定时更新)
(1)Ogre::RenderWindow可用下面四个函数得到渲染窗口的左上角坐标和窗口的大小int winLeft = mWindow->getViewport(0)->getActualLeft();int winTop = mWindow->getViewport(0)->getActualTop();int winWidth = mWindow->getView原创 2012-02-22 11:03:39 · 1732 阅读 · 0 评论 -
Ogre中将法线贴图和硬件蒙皮结合
原文链接:http://www.ogre3d.org/tikiwiki/Normal+Mapping+with+Hardware+Skinning+and+Specular&structure=Cookbook原本标题:Normal Mapping with Hardware Skinning and Specular - Combined normal mapping and hardwar翻译 2011-12-11 21:31:03 · 2726 阅读 · 0 评论 -
将Shader嵌入Ogre(固定渲染管线到可编程渲染管线)
转自:http://hi.baidu.com/%B0%AE%D0%C4%CC%EC%BE%F4/blog/item/cf99d58858435da50f24441a.html引言:一般的,ogre是使用固定渲染管线,嵌入可编程管线,可借助GPU,提供更多更丰富的效果。//-----------------使用脚本加入shader(.material或者.programe使用.hlsl转载 2011-12-10 16:34:36 · 920 阅读 · 0 评论 -
对于法线贴图(Normal Map) 的深入研究
前几篇文章写过有关法线贴图的内容,这次文章将讨论其原理及相关优化。回过头来看一下原来的文章真有种想删掉的感觉。。。为什么叫法线贴图,我们知道法线(Normal)是垂直于一个面的直线,通过计算光线与这条法线的角度就可以知道与面的角度,进而可以计算出面应得到的颜色值。如果我们知道物体每个面的法线就能实现对这个物体进行光照渲染。但是一堵墙也许只有四个顶点,也就是只有一个面,它最终的渲染效果将会非转载 2011-12-14 23:14:13 · 9926 阅读 · 0 评论