Irrlicht学习备忘录——8 SpecialFX

本文详细介绍了Irrlicht引擎中的SpecialFX,包括动态光影、粒子效果和动态水面。动态光影依赖深度缓冲区,粒子系统易于扩展,可创建多种效果。动态水面通过addWaterSurfaceSceneNode实现波动,材质类型EMT_REFLECTION_2_LAYER提供反射和阴影。此外,还探讨了动态灯光的创建方法和粒子发射器、影响器的参数调整。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

8 SpecialFX

官方代码($sdk)\examples\08.SpecialFX


终于到irr的特效了。这个例子里有动态光影和粒子效果,还有irr自己的动态水表面。看官方例子的演示效果,感觉满好的。实际上换个更大的场景,效果就再也没有演示中的好了。不过换我自己做,估计还做不到irr这水平。接下来还是认真看看irr的特效如何使用好了。

这次创建irr设备的时候,CreateDevice的最后一个参数需要设为开启,它是深度缓冲区的使用开关。要产生动态光影的效果,需要借助深度缓冲区辅助进行动态光影计算,这个是我以前用OpenGL时就知道的常识。动态光影开启后,渲染速度会明显下降。十多年前的电脑,有部分低端显卡不支持深度缓冲,用OpenGL时都需要写代码检查显卡是否支持。irr引擎在这方面做的挺完善的,当你开启深度缓冲后,它会自动检查显卡是否支持深度缓冲,如果硬件不支持,会自动将它关闭。

首先创建了一个房子的场景节点。例子中读取了一个.3ds文件,作者介绍说,这是他用Anim08or做的房子模型,irr不支持.an8的格式,他就把它导出为.3ds格式了。国内本来就是盗版泛滥,用不着学作者的用免费软件做模型,直接用3dsMaxMaya做,做好后导成irr支持的格式就行了。作者做的模型很糟糕,他展示了irr的一个特殊功能,使用irrMesh管理器为Mesh创建了一个平面材质贴图。代码为:smgr->getMeshManipulator()->makePlanarTextureMapping(mesh->getMesh(0)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值