| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 游戏开发 -> Shader入门精要笔记-屏幕后处理效果(1) -> 正文阅读 |
|
[游戏开发]Shader入门精要笔记-屏幕后处理效果(1) |
目录 一.Unity提供的接口:OnRenderImage函数(该脚本必须挂载到有相机组件的游戏对象上) 二.在OnRenderImage中利用Graphics.Blit函数完成对渲染处理的处理 屏幕后处理:指的是在渲染完整个场景得到屏幕图形后,对图形进行一系列操作,实现各种屏幕特效 如:景深,运动模糊 基础在于:得到渲染后的屏幕图像,即抓取屏幕 一.Unity提供的接口:OnRenderImage函数(该脚本必须挂载到有相机组件的游戏对象上)MonoBehaviour.OnRenderImage(RenderTexture src,Render Texture dest); --该函数允许我们使用着色器滤波操作来修改最终的图像,输入原图像source,输出的图像放在desitination里。 二.在OnRenderImage中利用Graphics.Blit函数完成对渲染处理的处理Graphics.Blit:通过一个shader将原图的像素放置到destionation中
src(源纹理):当前屏幕的渲染纹理(或者上一步处理后得到的渲染纹理)src纹理将会被传递给shader中名为_MainTex的纹理属性。 dest(目标渲染纹理):为空就直接将结果显示到屏幕上 mat(后处理的材质):这个材质使用的unity shader将会进行各种屏幕后处理操作。 pass:默认值为-1,表示将会依次调用shader内的所有Pass。否则只会调用给定索引的Pass 三.屏幕后处理效果的过程如下:1.首先需要检查当前平台是否支持渲染纹理和屏幕特效,是否支持unityShader等。 2.通过OnRenderImage函数来获取到的当前屏幕的渲染纹理,再调用Graphics.Blit函数使用特定的UnityShader来对当前图形进行处理 3.Shader的_MainTex即为OnRenderImage函数来获取到的当前屏幕的渲染纹理,在frag函数里对图像进行逐像素处理后再返回给OnRenderImage函数,得到最后的屏幕画面。
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/17 4:04:22- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |