Unity中的计算机图形学(三)

       这一部分内容会是之前图形学(一)和图形学(二)的一个延伸,我们从用shader表现屏幕后期特效为例子,把三大测试的概念衔接起来,之前我专门写过一篇关于Alpha测试的文章,我觉得写的挺废的,这次就连起来一起写。这样应该比较统一整体。

        屏幕后期特效,就是等场景渲染完以后,在添加一些特效处理。引擎渲染后,最终结果就是一张图片,屏幕后期处理有那种二次渲染的感觉。将已经渲染好的图片传递给shader,再次进行计算。

         根据Unity的生命周期:我们是要在Scene Render完成之后进行处理

而且屏幕后期特效,我们需要在摄像机上进行。

我们以高斯模糊为例,进行讲解。

突然自己停了下来,突然感觉到在北京,现在这个时间和地点,好像找不到说话的人,其实我们总希望被理解,这个想法还是比较奢侈的,在北京这样一个城市。无助,孤单等等心理造成的压力,有时候真的不知道怎么释放。不知道我会不会变成一个冷漠、麻木的人。我翻了一下朋友圈,也不知道找谁,先看球赛吧,等下接着写。

乌拉圭:法国--0:2

屏幕特效都是通过处理摄像机Camera进行的。通过OnRenderImage这个API,把已经渲染好的大图截下来,在通过给截取下来的图片指定一个材质球,当然这个材质球的表现效果是我们用shader进行编辑好了的。大概思路是这样,我会用代码进行阐述。

写到这里,我突然想到了Post Processing这款插件,其实这款插件本质上就是用的这个原理,对于一些屏幕特效的处理。我觉得这样其实可以自己写一些shader,进行屏幕特效处理,原理是这样。

Camera进行截取的方式和处理方式我们知道了,就单这个Gaosi模糊案例来说,怎样让画面模糊?这是个需要思考的问题。我们可以想一下上两章节我们讲过的,关于Filter Mode三种模式的选择,在Texture处理的三种选择方式。本质上是对于像素的再次计算的三种方式。如果我们取一个点,然后把这个点的上下左右和自身都平均起来,那么,这个点是不是就变得模糊了?

先看效果,然后我在进行代码的解析:

已经模糊产生了,当然这个模糊程度我们是可以控制的。

Shader的代码如下:

以上就完成了高斯模糊的制作方式。接下来的第四章,我们开始讲三大测试。

晚安  

猜你喜欢

转载自blog.csdn.net/qq_38651460/article/details/80946421
今日推荐