GraphicsLab Project之辉光(Glare,Glow)效果

本文详细介绍了在OpenGL中实现辉光效果的过程,包括渲染到纹理、后处理、图像模糊等步骤,通过Shader计算来达到多通道渲染的效果。

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

作者:i_dovelemon

日期:2016 / 07 / 02

来源:CSDN

主题:Render to Texture, Post process, Glare, Glow, Multi-pass rendering



引言



        从GraphicsLab Project项目立项以来,一直都在忙着搭建Shader的实验环境,现在基本的实验环境已经搭建完毕,所以就试着使用它来编写一些效果。本篇文章就将向大家讲述,如何在OpenGL中,使用GLSL编写出辉光效果。


辉光(Glare,Glow)



       辉光效果,也就是Glare,Glow效果。它的主要作用是模拟一些场景中发光物体周边的朦胧模糊的发光效果,有点类似于PS中的外发光。先来看一看这种效果的实际图片,给大家一个感性的认识。


图1


图2


图3

       上面图片给大家展示了辉光效果能够带来的视觉体验。为场景中的发光物体添加辉光效果,能够实现灯光的朦胧感觉。当然,为了整体画面的和谐也不能乱用此效果,否则就给人一种很俗气的感觉。


原理



        下面给大家讲述下这种效果的实现方式。其实说白了它的实现原理很简单,我们只要对要添加辉光效果的物体进行一次模糊操作,然后将模糊过后的图片与原先的图片进行Alpha Blend,就能够得到上面所示的效果。操作如图所展示的那样(这里为了简便,只在场景中绘制Glare物体,并且只添加了些许光照,没有添加其他效果):


图4 未进行模糊的原场景


图5 对原场景进行模糊之后的图像


图6 将模糊之后的场景与原场景进行Alpha blend之后的最终效果

        上面三张图片展示了绘制一个简单辉光效果的整体步骤。原理是不是十分的简单???大家可以自己在PS等图像处理软件中,直接模拟看看是否能够得出这种效果来。


OpenGL实现



        在讲述具体的实现之前,我们需要先了解一些基本的知识点。在了解了这些知识点的基础之上,我们才能够实现这种效果。

渲染到纹理(Render to Texture, RTT)


评论 9
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值