Deferred Decal(延迟贴花)

本文介绍了Decal渲染技术,特别是在游戏引擎中的应用。重点讨论了基于延迟渲染的Deferred Decal方法,包括投影纹理、网格投影的原理以及优化技巧。 Deferred Decal通过在后处理阶段更新Diffuse Buffer实现,涉及Normal-depth buffer、包围几何体的绘制和Pixel的Decal UV计算。同时,文中还提到了处理不同类型物体、Corner Wrap问题以及Camera内部Decal的解决方案。
摘要由CSDN通过智能技术生成

Decal渲染是一个引擎中重要的一部分,记忆中印象最深刻的就是以前CS中的弹痕与爆炸痕迹了。目前来说,Decal的实现方法也比较多,而且感觉还跟游戏类型有关,比如子弹乱飞的射击类FPS游戏中对贴花系统的要求就比较高,因为本来Decal的变化就比较丰富。一般来说贴花渲染主要有两种实现方法:

  • Texture projection关于投影纹理的原理网上也有很多文章,基本就是需要对地形渲染两遍,一遍正常渲染,一遍用投影的纹理渲染,然后把这两个混合的结果融合。显然,如果场景中的贴花较多,且场景规模复杂的话,这种方法就会比较费。
  • Mesh projection 这种方法应该来说使用比较多,包括早期Source中的Decal等使用的应该就是这种方法,其主要原理就是将Decal处理为附着于其所能贴到的几何表面上的几何网格,然后当做polygon list来渲染。当然这些网格也是经过修饰的(比如贴到一个桌子的边角上时,就需要根据桌角几何网格的分布来裁剪Decal所对应的网格)。关于该方法这里有一篇文章介绍得非常好:http://blog.wolfire.com/2009/06/how-to-project-decals/。另外,基于此种方法的改进类型也不少,比如Frosbite引擎中就利用Geometry Shader来生成类似该类型的Decal(
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值