Sorry, your browser cannot access this site
This page requires browser support (enable) JavaScript
Learn more >

渲染目标

一、定义

渲染目标纹理(Render Target Texture)是一种特殊的纹理类型 一般摄像机的渲染结果会输出到颜色缓冲区中 最终渲染到设备屏幕上,让玩家通过屏幕看见游戏画面

而目标渲染纹理允许我们将渲染结果直接写入到某一章纹理中 我们可以利用这个纹理来处理各种特殊效果 比如:镜子,玻璃,屏幕后处理,阴影映射等等

在 Unity 中 渲染目标纹理(Render Target Texture)和通常的渲染纹理(Render Texture) 可以互换使用,我们更常听到的时"渲染纹理"这个术语

总之: 渲染纹理就是 将渲染的结果储存到一个纹理对象中,以便在后续的渲染步骤中使用

我们在 Shader 开发中 我们经常希望某个摄像机不要直接将结果渲染到屏幕上 而是可以让我们得到它的渲染结果 进行二次处理

二、unity 中的渲染目标纹理

常用方法

  1. 渲染纹理(Render Texture) Unity 中有一种专门的纹理类型 Project 窗口中右键 -> Creat -> Custom Render Texture 我们只需要把该纹理进行相关的设置,然后关联到摄像机组件的 Target Texture 中 这样对应摄像机的渲染内容就会直接写入到该纹理中 (可以通过代码创建)
  2. GrabPass 在 Unity Shader 中 我们可以在 Pass 渲染通道中使用 GrabPass 指令 捕获当前屏幕的内容,并保存为纹理,以便在后续渲染过程中使用
  3. OnRenderImage 在继承了 MonoBehaviour 的类中 我们可以使用 OnRenderImage 来获取摄像机渲染完成的图像 该函数一般用于实现自定义的图像后处理
  4. 等等

评论