调整屏幕的亮度,饱和度和对比度 【Unity Shader入门精要12.2】

本文介绍了如何在Unity中创建一个屏幕后处理系统,用于调整屏幕的亮度、对比度和饱和度。通过C#脚本和Shader的结合,利用OnRenderImage函数以及Graphics.Blit进行图像处理。详细讲解了OnRenderImage的用法和Graphics.Blit的不同重载形式,以及它们在屏幕特效中的应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 

 

 

 

//12.1
//一个用于检查的基类
//检查当前平台是否支持渲染纹理和屏幕特效,是否支持Unity Shader



using System.Collections.Generic;
using UnityEngine;

//在编辑模式执行
[ExecuteInEditMode]
//需要绑定组件(类型(相机))
[RequireComponent(typeof(Camera))]

public class PostEffectsBase : MonoBehaviour {



   

   
    //新建检查资源函数 开始时调用
    protected void CheckResources()
    {
        //新建布尔类型 调用检查支持函数
        bool isSupported = CheckSupport();
        //如果 检查支持函数结果是假
        if (isSupported == false)
        {
            //调用没有支持函数
            NotSupported();
        }
    }

    //新建检查支持函数 调用CheckResources检查此平台上的支持
    protected bool CheckSupport()
    {
        //if (访问系统和硬件信息.支持图像效果 为假  或  访问系统和硬件信息.支持渲染纹理 为假)
        if (SystemInfo.supportsImageEffects == false || SystemInfo.supportsRenderTextures == false)
        {
            
                //输出 balabala
                Debug.LogWarning("This Platform does not support image effects or render textures.");
            //返回 假
            return false;
        }
        //返回真
        return true;
    }
   
   

    //新建 没有支持 函数,当平台不支持此效果时调用
    protected void NotSupported()
    {
     
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值