Away3D之---------------简单的后处理 灰度滤镜(GrayFilter)

本文介绍了如何在Away3D中实现灰度滤镜效果,通过全屏后处理对每帧渲染的纹理进行灰度处理。首先,详细解释了灰度效果的基本原理,即利用Filter3DBase滤镜对渲染的图像进行处理。接着,说明了Away3D滤镜的工作流程,包括判断和应用滤镜的过程。然后,展示了如何继承滤镜基类并实现灰度效果的具体步骤,其中关键算法是将颜色值乘以特定分量并求和。最后,文章展示了开启灰度效果前后的对比图像,直观地呈现了滤镜的效果。

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

灰度效果常被用于死亡世界,其实现方式是利用全屏后处理对每帧渲染的纹理图像进行灰度处理,在Away3D中利用Filter3DBase滤镜可以很容易的扩展出各种后处理效果。 其基本原理即:  每帧对场景及场景中所有对象进行渲染,渲染得到的图像数据并不直接绘制到后台缓冲区,而是绘制到纹理(RTT)然后对这张纹理进行处理并将最终结果传入缓冲区显示。


Away3D中滤镜的工作流程: 在每帧绘制的时候判断是否有滤镜效果 如果当前开启滤镜则先绘制到纹理,在对该纹理进行第二次绘制。




实现灰度效果只需继承滤镜基类 (因为功能比较简单且直接绘制到后台缓冲故无需其他太多处理)



实现具体灰度效果绘制任务   

ps 的主要算法  对原纹理(每帧绘制场景的数据)采样得到颜色值ft0 对颜色值进行如下计算得到最终灰度效果

ft0 *= fc0(r g b分别乘以常量分量)  将r g b三个分量只和最为最终颜色值





绘制效果:

开灰度效果之前:                                                            





开灰度效果之后:




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值