Irrlicht游戏开发
文章平均质量分 92
Irrlicht是一款小巧、开源、可适配多平台的游戏引擎,它是由奥地利人Nikolaus Gebhardt创建于2002年。目前引擎的开发团队逐渐壮大,而使用引擎制作的游戏也接连不断地出现。专栏作者jiangcaiyang将自己对Irrlicht的研究写成博客,供同行们分享。
彩阳
学习DirectX还要靠大家指点指点啊。
展开
-
将CEGUI整合进Irrlicht
早就听说CEGUI是一款优秀的游戏GUI库,并且除了能够支持OpenGL、Direct3D9、Direct3D11以外,还可以支持高层的游戏引擎,例如Ogre和Irrlicht。我非常想尝试一下,网上有关CEGUI的例子又不是很多,所以自己花了大概几天的时间,研究了自带的文档,顺利地进行了整合。原创 2014-04-02 23:24:32 · 3964 阅读 · 0 评论 -
使用VS2010构建CEGUI0.8.3
CEGUI全称Crazy Eddie's GUI System,Logo是一个疯狂的科学家,它是一款很强大的游戏GUI工具,同时也是Ogre游戏引擎默认的GUI工具。这回我将使用VS2010来尝试构建CEGUI0.8.3。原创 2014-03-19 19:59:00 · 3949 阅读 · 3 评论 -
Irrlicht学习之使用着色器
Irrlicht是从2002年开始发布的,那时我想应该还没有成熟的着色器,我记得那时候Direct3D8的着色器是汇编代码,非常难用,而Direct3D9的HLSL还不太为人所知,而OpenGL的着色器GLSL还没有出世。没有着色器,渲染可能非常单调,而且固定渲染模式非常臃肿。但是现在已经大不相同了,Irrlicht也支持非常多的着色器,它们能够为用户呈现出非常满意的效果。于是我也开始尝试使用Irrlicht的着色器渲染模型。原创 2013-11-29 21:41:18 · 2986 阅读 · 0 评论 -
Irrlicht学习之水波特效的研究
上一篇文章作为一个引子,介绍了粒子系统的简单使用方法,不过Irrlicht的粒子系统提供的效果非常多,只要选对了粒子特效,再加上合适的美术资源,就可以制作相当漂亮以及震撼的特效。同时粒子系统作为场景的一个普通的节点,可以绑定在场景的任何位置,也就是说一些场景效果比如说昏暗的山洞里一把篝火这样的特效就可以绑定在场景的火把处,通过场景编辑器编辑完成,再用程序导入irr文件,这样的话一个逼真的场景就实现了。原创 2013-11-26 21:57:53 · 3224 阅读 · 0 评论 -
Irrlicht学习之粒子系统的研究
粒子系统是作为游戏引擎不可或缺的一部分,它可以创造出非常炫的效果,但是传统上,如果是从Direct3D或者是从OpenGL/GLUT开始,将会遇到很大的麻烦,因为需要定义粒子发射器以及粒子管理器,还有种种复杂的东西,以前我曾经用Direct3D模仿粒子系统制作弹幕,就知道管理粒子有多么的复杂。不过在使用了Irrlicht之后,我觉得使用粒子系统简单了许多,只需要调用几个函数就可以解决问题。原创 2013-11-26 20:33:12 · 2751 阅读 · 0 评论 -
Irrlicht学习之载入irr文件和自定义场景节点
在上一篇文章中,我尝试载入了Irrlicht自定义的场景文件irr文件。这回我将尝试用代码将irr文件载入以及自定义场景节点绘制出坐标轴。Irr文件实质上是一个XML文件,它里面包含了场景的各种资源,可以被引擎中的一个模块IrrXML进行读取,生成则主要由IrrEdit来完成。原创 2013-11-22 20:08:55 · 3583 阅读 · 11 评论 -
使用CopperCube(IrrEdit)创建Irrlicht场景
Irrlicht作为一款游戏引擎,如果没有场景编辑器等配套软件,那么就会显得太弱了,还好Irrlicht提供了简易的GUIEditor(在前文有简单介绍)、FontTool、MeshViewer以及我们需要自行下载的IrrEdit。 IrrEdit现在已经改名为CopperCube了,CopperCube是商业软件,可以提供简单的场景编辑,并最终导出为ccb格式或发布为Windows、Mac OSX、Flash、WebGL、Android应用。从这个角度来说它倒比较像Unity3D以及最近刚出的国产游戏引原创 2013-11-22 19:32:16 · 6240 阅读 · 7 评论 -
Irrlicht学习之光照的研究
最近研究一下Irrlicht的光照。发现Irrlicht的光照还是比较简单的,相比低于它的OpenGL和Direct3D,设置光源以及设置光照的参数更加人性化(可能是因为OpenGL是基于C的,Direct3D是基于COM的,都没有面向对象那么简洁易懂?)但是光照的实现还是根据底层的渲染器来决定的,也就是说可能是OpenGL的高洛德光照模型,也可能是Direct3D中的光照模型。原创 2013-11-18 21:52:24 · 3648 阅读 · 0 评论 -
Irrlicht学习之摄像机的探究
Irrlicht作为一款跨平台三维游戏引擎,摄像机功能必不可少。摄像机的本质是对视图矩阵(View Matrix)进行修改和控制,有时候摄像机还附带控制了投影矩阵(Projection Matrix)。Irrlicht中的摄像机包含了以下属性:宽高比(Aspect Ratio)、远近裁面(Far and Near clip Plane)、视野范围角(Field of View)、位置(Position)、视向量(View Vector)、向上向量(UpVector)。此外为了实现FPS中的跟随目标摄像机,可原创 2013-11-16 19:00:37 · 3373 阅读 · 0 评论 -
Irrlicht学习之添加中文的支持
Irrlicht在立项之初,可能没有考虑国际化的问题,因此一开始使用的字符集都是ANSI的,似乎是在Irrlicht1.6开始,才开始在GUI和其他模块中将wchar_t当作普通字符的存储格式。但是wchar_t在不同的平台上存储又不一样,因此直到版本1.73,官方还没有提供东亚字符的显示。 在网络上搜到了几篇让Irrlicht支持中文的博客,虽然已经过去几年了,但依然受用。博客的地址将以参考文献的形式记录下来。下面将要介绍一下如何让Irrlicht支持中文。原创 2013-11-11 20:09:02 · 4660 阅读 · 3 评论 -
Irrlicht学习之创建GUI界面
Irrlicht游戏引擎自带了GUI模块,可以在三维的场景中创建二维的覆盖(Overlay),使得游戏中图标和文字的显示更为方便,配合游戏高效的三维渲染能力,相得益彰。 这一次我将尝试用代码对GUI进行显示,我们的目标是在窗口中既要显示三维的背景也要显示二维的界面菜单,想做得和DirectX的例子CustomUI那样,但也不要制作得那么复杂,符合游戏的实际情况即可。原创 2013-11-10 20:03:37 · 4269 阅读 · 1 评论 -
Irrlicht学习之载入网格(mesh)文件
学习Irrlicht载入网格文件,其实非常简单。通过我仿照例子写的一段代码,很简单地载入网格文件。原创 2013-11-08 23:31:51 · 3551 阅读 · 3 评论 -
Irrlicht引擎在Linux的安装和使用
我是Irrlicht引擎的初学者,在查阅了指导书和网络上的教程之后大概地了解了Irrlicht在Windows中的安装。上一篇文章讲到了如何在Windows下进行Irrlicht游戏的开发,这次我将要介绍一下如何在Linux下使用和开发Irrlicht。首先介绍一下Irrlicht引擎。Irrlicht由于它的轻巧、开源和对开发者友好而被人们所熟知,中国的开发者更是给它起了个亲切的名字:鬼火。引擎对下一层组件进行了恰到好处的封装,使我们能够使用最简约的代码开发我们喜欢的游戏而不用担心平台相关的API原创 2013-11-08 22:27:49 · 4172 阅读 · 0 评论 -
Irrlicht引擎在Windows的安装和使用
我是Irrlicht引擎的初学者,在查阅了指导书和网络上的教程之后大概地了解了Irrlicht在Windows中的安装。 首先介绍一下Irrlicht引擎。Irrlicht是一款游戏引擎,它非常轻量,要使用基于Irrlicht引擎的游戏只需要额外地添加一个2.55M的Irrlicht.dll即可;而且在编码上非常简洁,使用的数据类型都是u32、f32这种精简到不能精简的类型定义了,而且一目了然;编码效率提高的同时,它也是对开发者尤其是初学者非常友好的游戏引擎,事实上,Irrlicht是我接原创 2013-11-07 23:26:29 · 4405 阅读 · 0 评论