GraphicsLab Project之Color Processing

作者:i_dovelemon

日期:2016 / 09 / 15

来源:CSDN

主题:Post-processing, Gamma correction, Color Grading



引言



        今天来和大家分享下一种在屏幕空间对整体的画面进行(Color Grading)颜色调制的一种简单方法。这些方法在成熟的引擎中,都有运用。比如CryEngine中使用的大量滤镜,还有Unreal中Post-processing中的Color Grading就是实现这样的功能。


Color Grading



        熟悉PS的同学应该都知道,在PS中,如果我们需要对一张图片进行颜色,饱和度,对比度和曝光度这样的整体调节就是Color Grading。举个例来说,比如现在我们想要下面的效果:


GraphicsLab Project之Color Processing_第1张图片

        我们只要对原有的图像进行黑白滤镜处理就能够得到。上面仅仅是通过滤镜能够实现的其中一种效果,通过对PS中各个参数的调节,我们能够实现很多不同的效果,这些效果能够很容易的让美工对画面的整体风格进行把控,是一种很好的控制画面风格,实现各种特殊效果的方法。


如何在渲染中实现?



        首先,我们要知道Color Grading是对图片中的每一个像素的颜色进行操作,即仅仅与像素的颜色有关系,而与像素所处的位置,附近的颜色等等没有关系。读者请注意,这里说的是最终进行Color Grading时进行的操作对象,而操作中各个参数的来源是需要考虑整幅图片的属性的。比如说,我要调节一下整个场景中的颜色亮度,那么我需要先计算一下场景的平均亮度值,然后根据这个值对每一个像素进行操作。

        从上面的描述中,大家可能也看到了,我在这里提出的实现,仅仅是对每一个像素进行最终的Color Grading操作,而操作的来源却没有实现。那么我该怎么得到这个操作的来源了?这个问题就是我们Color Grading实现的核心。

        在Unreal中,提供了一个内置的编辑器,能够实时的调整例如颜色,对比度&

你可能感兴趣的:(3D引擎,OpenGL,游戏开发,GraphicsLab,Project,Shader,图形试验室)