这是我在《游戏架构-核心技术与面试精粹》看的,记录一下~
后处理是啥?
后处理(Post-Process Effect)是一种对渲染之后的画面进行再加工的技术
针对每一个摄像机,在绘制到用户窗口之前,都有机会对整个画面进行二次夹工,再将装饰后的画面呈现给用户
后处理能方便地制作全局效果,也会带来性能消耗
通常覆盖全场景的想过,都会在摄像机上想办法实现
改变画面风格,通常使用后处理技术来实现
将摄像机照射出的内容渲染到一张图中,就是 RT(RenderTexture,渲染图)
将摄像机内容绘制到渲染图的过程被称为 RTT(Render to Texture)
unity中 RT 对应的就是RendererTexture 就对应的 RenderTexture
既可以动态创建内存中的RT,也可以在工程目录下创建一个RT资源
eg:
Create->RenderTexture 可以赋值到 Camera 的渲染目标(Render Target)上,运行游戏就可以看到图片内容被修改了
渲染接口
unity中有专门编写后处理的专门接口
在任何继承自MonoBehaviour的子类中,都可以重写下面的函数来改变最终的渲染效果
Void OnRenderImage(RenderTextrue sourceTextrue, RenderTexture destTexture_
讯享网
每次程序渲染之前,都会调用这个函数
其中sourceTexture就是RT
可通过下面的接口函数直接渲染给destTexture,则就是默认的渲染方式
讯享网Graphics.Blit(sourceTexture, destTexture);//blit 位块传送
也可以指定某个材质 renderMaterial 进行渲染,输出到 destTextrue 中
Graphics.Blit(sourceTexture, destTexture, renderMaterial);
如果想实现某种效果,只需在对应 shader 中实现渲染算法即可

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/20009.html