相机特效来调整亮度和对比度

本文转载自Unity论坛看到的
相机特效来调整亮度和对比度 , 做了一些修改。

using System;
using UnityEngine;
using UnityStandardAssets.ImageEffects;

[ExecuteInEditMode]
[AddComponentMenu("Image Effects/GL/Brightness Effect")]

///add by lpj.thinbug 用于亮度调整20166.12.26
public class BrightnessEffect : ImageEffectBase
{
    [Range(0.5f, 2f)]
    public float _Brightness = 1f;
    [Range(0.5f, 2f)]
    public float _Contrast = 1f;

    Material curMaterial;

    protected override void Start()
    {
        shader = Shader.Find("Hidden/GL/Brightness Effect");
        base.Start();
    }


    // Called by camera to apply image effect
    void OnRenderImage(RenderTexture source, RenderTexture destination)
    {
        material.SetFloat("_Brightness", _Brightness);
        material.SetFloat("_Contrast", _Contrast);
        Graphics.Blit(source, destination, material);
    }
    public void SetBrightness(float value)
    {
        _Brightness = value;
    }
    public void SetContrast(float value)
    {
        _Contrast = value;
    }
}
///add by lpj.thinbug 用于亮度调整20166.12.26
Shader "Hidden/GL/Brightness Effect" {
 Properties {
     _MainTex ("Base (RGB)", 2D) = "white" {}
     _Brightness ("Brightness", float) = 1
     _Contrast ("Contrast", float) = 1
 }

 SubShader {
     Pass {
         ZTest Always Cull Off ZWrite Off

         CGPROGRAM
         #pragma vertex vert_img
         #pragma fragment frag
         #include "UnityCG.cginc"

         uniform sampler2D _MainTex;
         uniform float _Brightness;
         uniform float _Contrast;

         fixed4 frag (v2f_img i) : SV_Target
         {
             fixed4 output = tex2D(_MainTex, i.uv);
             output = output * _Brightness;
             output = (output - 0.5) * _Contrast + 0.5;
             return output;
         }
         ENDCG
     }
 }

 Fallback off
 }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值