Irrlicht学习之使用着色器

Irrlicht是从2002年开始发布的,那时我想应该还没有成熟的着色器,我记得那时候Direct3D8的着色器是汇编代码,非常难用,而Direct3D9的HLSL还不太为人所知,而OpenGL的着色器GLSL还没有出世。没有着色器,渲染可能非常单调,而且固定渲染模式非常臃肿。但是现在已经大不相同...

2013-11-29 21:41:18

阅读数 2660

评论数 0

Irrlicht学习之水波特效的研究

上一篇文章作为一个引子,介绍了粒子系统的简单使用方法,不过Irrlicht的粒子系统提供的效果非常多,只要选对了粒子特效,再加上合适的美术资源,就可以制作相当漂亮以及震撼的特效。同时粒子系统作为场景的一个普通的节点,可以绑定在场景的任何位置,也就是说一些场景效果比如说昏暗的山洞里一把篝火这样的特效...

2013-11-26 21:57:53

阅读数 2861

评论数 0

Irrlicht学习之粒子系统的研究

粒子系统是作为游戏引擎不可或缺的一部分,它可以创造出非常炫的效果,但是传统上,如果是从Direct3D或者是从OpenGL/GLUT开始,将会遇到很大的麻烦,因为需要定义粒子发射器以及粒子管理器,还有种种复杂的东西,以前我曾经用Direct3D模仿粒子系统制作弹幕,就知道管理粒子有多么的复杂。不过...

2013-11-26 20:33:12

阅读数 2438

评论数 0

Irrlicht学习之载入irr文件和自定义场景节点

在上一篇文章中,我尝试载入了Irrlicht自定义的场景文件irr文件。这回我将尝试用代码将irr文件载入以及自定义场景节点绘制出坐标轴。 Irr文件实质上是一个XML文件,它里面包含了场景的各种资源,可以被引擎中的一个模块IrrXML进行读取,生成则主要由IrrEdit来完成。

2013-11-22 20:08:55

阅读数 3195

评论数 11

使用CopperCube(IrrEdit)创建Irrlicht场景

Irrlicht作为一款游戏引擎,如果没有场景编辑器等配套软件,那么就会显得太弱了,还好Irrlicht提供了简易的GUIEditor(在前文有简单介绍)、FontTool、MeshViewer以及我们需要自行下载的IrrEdit。 IrrEdit现在已经改名为CopperCube了,Coppe...

2013-11-22 19:32:16

阅读数 5075

评论数 7

Irrlicht学习之光照的研究

最近研究一下Irrlicht的光照。发现Irrlicht的光照还是比较简单的,相比低于它的OpenGL和Direct3D,设置光源以及设置光照的参数更加人性化(可能是因为OpenGL是基于C的,Direct3D是基于COM的,都没有面向对象那么简洁易懂?)但是光照的实现还是根据底层的渲染器来决定的...

2013-11-18 21:52:24

阅读数 3274

评论数 0

Irrlicht学习之摄像机的探究

Irrlicht作为一款跨平台三维游戏引擎,摄像机功能必不可少。摄像机的本质是对视图矩阵(View Matrix)进行修改和控制,有时候摄像机还附带控制了投影矩阵(Projection Matrix)。Irrlicht中的摄像机包含了以下属性:宽高比(Aspect Ratio)、远近裁面(Far ...

2013-11-16 19:00:37

阅读数 3044

评论数 0

Irrlicht学习之添加中文的支持

Irrlicht在立项之初,可能没有考虑国际化的问题,因此一开始使用的字符集都是ANSI的,似乎是在Irrlicht1.6开始,才开始在GUI和其他模块中将wchar_t当作普通字符的存储格式。但是wchar_t在不同的平台上存储又不一样,因此直到版本1.73,官方还没有提供东亚字符的显示。 ...

2013-11-11 20:09:02

阅读数 3986

评论数 2

Irrlicht学习之创建GUI界面

Irrlicht游戏引擎自带了GUI模块,可以在三维的场景中创建二维的覆盖(Overlay),使得游戏中图标和文字的显示更为方便,配合游戏高效的三维渲染能力,相得益彰。 这一次我将尝试用代码对GUI进行显示,我们的目标是在窗口中既要显示三维的背景也要显示二维的界面菜单,想做得和D...

2013-11-10 20:03:37

阅读数 3598

评论数 1

Irrlicht学习之载入网格(mesh)文件

学习Irrlicht载入网格文件,其实非常简单。通过我仿照例子写的一段代码,很简单地载入网格文件。

2013-11-08 23:31:51

阅读数 3143

评论数 3

Irrlicht引擎在Linux的安装和使用

我是Irrlicht引擎的初学者,在查阅了指导书和网络上的教程之后大概地了解了Irrlicht在Windows中的安装。 上一篇文章讲到了如何在Windows下进行Irrlicht游戏的开发,这次我将要介绍一下如何在Linux下使用和开发Irrlicht。 首先介绍一下Irrlicht引擎。I...

2013-11-08 22:27:49

阅读数 3342

评论数 0

Irrlicht引擎在Windows的安装和使用

我是Irrlicht引擎的初学者,在查阅了指导书和网络上的教程之后大概地了解了Irrlicht在Windows中的安装。 首先介绍一下Irrlicht引擎。Irrlicht是一款游戏引擎,它非常轻量,要使用基于Irrlicht引擎的游戏只需要额外地添加一个2.55M的Irrlic...

2013-11-07 23:26:29

阅读数 3618

评论数 0

循环坐标下降(CCD)算法中对骨骼动画中膝盖等关节的特殊处理

最近研究循环坐标下降(cyclic coordinate decent,CCD)算法,发现它在处理人物的某些关节上不起作用。CCD算法的原始算法针对的是多个骨骼、多个关节的IK解算处理,但是对于人体骨骼有着特殊的构造,使用CCD算法不能正确地反映这些构造,所以我们必须对这些构造进行特殊处理。 ...

2013-11-03 22:54:47

阅读数 15318

评论数 4

使用循环坐标下降(CCD)算法解算反向运动学(IK)

周五的时间总是美好的,今天也将自己制作的演示程序收官了。这篇文章是上一篇文章的继续,向大家介绍一下如何使用循环坐标下降(cyclic coordinatedecent,CCD)算法来求解反向运动学问题。 注意到了没有?我们要解决的问题属于刚体运动学范畴,所以一切涉及到形变的因素都不用...

2013-11-02 00:20:05

阅读数 6789

评论数 5

正向运动学和反向运动学

上次制作的骨骼动画例子程序并不完美,我在程序里面也说了,因为没有牵涉到反向运动学的知识,所以人物运动起来感觉脚无法收缩、头发无法飘逸的感觉。其实在现实中这样的情况是要避免的,但是由于在动画设计的时候要指定每一个关节,显得非常费事。所以引入了反向运动学这个概念。在介绍反向运动学之前,首先让我们看一下...

2013-11-01 00:24:33

阅读数 9928

评论数 3

提示
确定要删除当前文章?
取消 删除
关闭
关闭