屏幕处理效果—调整屏幕的亮度,饱和度和对比度
改内容参考unity shader入门精要
window-lighting-skybox去掉天空盒
新建一个BrightnessSaturationAndContrast的C#脚本,把该脚本挂到摄像机上
```csharp
using System.Collections;
using System.Collections.Generic;
using UnityEngine;public class BrightnessSaturationAndContrast : PostEffectsBase
{public Shader briSatConShader;private Material briSatConMaterial;//可外部调整亮度[Range(0.0f, 3.0f)]public float brightness = 1.0f;//可外部调整饱和度[Range(0.0f, 3.0f)]public float saturation = 1.0f;//可外部调整对比度[Range(0.0f, 3.0f)]public float contrast = 1.0f;public Material material{get {briSatConMaterial = CheckShaderAndCreateMaterial(briSatConShader, briSatConMaterial);return briSatConMaterial;}}//进行屏幕特效处理private void OnRenderImage(RenderTexture source, RenderTexture destination){if (material != null){material.SetFloat("_Brightness", brightness);material.SetFloat("_Saturation", saturation);material.SetFloat("_Contrast", contrast);Graphics.Blit(source, destination, material);}else{//若材质不可用,则把原图像显示在屏幕上Graphics.Blit(source,destination);}}
新建一个名为BrightnessSaturationAndContrast的shader
Shader "Hidden/BrightnessSaturationAndContrast"
{Properties{_MainTex ("Texture", 2D) = "white" {}_Brightness("Brightness",float) = 1_Saturation("Saturation",float) = 1_Contrast("Contrast",float) = 1}SubShader{// No culling or depth//一直执行深度测试 禁用剔除,绘制所有面 关闭像素写入深度缓冲区//所有屏幕后处理的标配ZTest Always Cull Off ZWrite OffPass{CGPROGRAM#pragma vertex vert#pragma fragment frag#include "UnityCG.cginc"sampler2D _MainTex;half _Brightness;half _Saturation;half _Contrast;struct appdata{float4 vertex : POSITION;float2 uv : TEXCOORD0;};struct v2f{float2 uv : TEXCOORD0;float4 pos : SV_POSITION;};//appdata_img 该结构体只包含了屏幕后期处理所必须的顶点坐标和纹理坐标v2f vert (appdata_img v){v2f o;o.pos = UnityObjectToClipPos(v.vertex);o.uv = v.texcoord;return o;}fixed4 frag (v2f i) : SV_Target{fixed4 renderTex = tex2D(_MainTex, i.uv);fixed3 finalColor = renderTex.rgb * _Brightness;//计算像素对应的亮度值fixed luminance = 0.2125*renderTex.r + 0.7154*renderTex.g + 0.0721*renderTex.b;//通过该亮度值创建一个饱和度为0的颜色值fixed3 luminanceColor = fixed3(luminance, luminance, luminance);//通过插值影响颜色的饱和度finalColor = lerp(luminanceColor, finalColor, _Saturation);//创建一个对比度为0的颜色值fixed3 avgColor = fixed3(0.5, 0.5, 0.5);//通过插值影响颜色的对比度finalColor = lerp(avgColor, finalColor, _Contrast);return fixed4(finalColor, renderTex.a);}ENDCG}}Fallback off
}
屏幕处理效果—调整屏幕的亮度,饱和度和对比度相关推荐
- 亮度饱和度和对比度的计算
Unity Shader入门精要学习记录 灰度像素的值计算为相应的红色,绿色和蓝色像素的加权总和,如下所示: Y = 0.2125 R + 0.7154 G + 0.0721 B sampler2D ...
- 【Unity3D】调整屏幕亮度、饱和度、对比度
1 屏幕后处理流程 调整屏幕亮度.饱和度.对比度,需要使用到屏幕后处理技术.因此,本文将先介绍屏幕后处理流程,再介绍调整屏幕亮度.饱和度.对比度的实现. 本文完整资源见→Unity3D调整屏幕亮度.饱 ...
- UnityShader入门精要-屏幕后处理效果 亮度饱和度对比度、边缘检测、高斯模糊、bloom效果、运动模糊
(从这里开始可能会记录的更简略一些,时间紧张想迅速读完这本书的主要内容,可能有的部分不会自己上手做) 屏幕后处理通常指渲染完整个场景得到屏幕图像后,再对图像进行操作,抓取屏幕可以使用OnRenderI ...
- Unity 屏幕特效 之 简单地调整颜色的亮度、饱和度、对比度
Unity 屏幕特效 之 简单地调整颜色的亮度.饱和度.对比度 目录 Unity 屏幕特效 之 简单地调整颜色的亮度.饱和度.对比度 一.简介
- PHP调整图片饱和度,window_Win10系统电脑屏幕的饱和度如何调整?,什么是饱和度?
对电脑来说 - phpStudy...
Win10系统电脑屏幕的饱和度如何调整? 什么是饱和度? 对电脑来说,饱和度是指色彩的鲜艳程度,也称之为色彩的纯度. Win10系统电脑屏幕的饱和度如何调整?很多朋友都不是很清楚,其实方法很简单的,下 ...
- 【微信小程序系列:二】小程序常用功能:跳转地图、扫一扫、人脸识别、拍照、拨打电话、调整屏幕亮度、文字可复制、监听截屏...
一.先言: (- ̄▽ ̄)-,hello,微信小程序系列第二篇,介绍下小程序里的前端常用功能api,可以快速copy使用~ 二.文字可复制: 小程序页面里的文字默认是没有长按复制功能的,需要套个标签来实 ...
- 调整屏幕亮度,调整字体大小
在我们开发项目的过程中,常常会遇到这样的功能,比如调整亮度,或者调整当前屏幕的字体大小, 其实这样的功能很好实现, 具体代码如下: 一.声明成员变量 1 { 2 UIView *_view; 3 BO ...
- 如何使用注册表在Win10中调整屏幕亮度
在这篇文章中,笔者将教大家如何在Win10中使用注册表调整屏幕亮度,值得注意的是,有一些台式机或者一体机,它们的显示器具有自己的亮度控制,因此对于本文给出的方法,你需要合适的显示器和合适的驱动程序,如 ...
- Win7系统不能调整屏幕亮度
出现问题的情形: 新安装的Windows7旗舰版系统,不能够调整屏幕的亮度,在(1)电源选项中直接没有进度条进行亮度的调节,(2)使用win+x键弹出的Windows移动中心也没有显示屏亮度调节栏 出 ...
最新文章
- sqlalchemy 查询结果 RowProxy 转 list
- 《LeetCode力扣练习》第3题 C语言版 (做出来就行,别问我效率。。。。)
- See system logs and 'systemctl status xxx.service' for details.错误的解决方法
- 计算机的好处和坏处的英语作文,《电脑的好处和坏处》英语作文 80词以上 谢谢...
- (7)Python赋值机制
- C# winform程序免安装.net framework在XP/win7/win10环境运行
- Spring Cloud微服务之Gateway网关(十三)
- 安装npm_微信小程序使用npm安装第三方库
- 截至2018年,目前,企业主流的消息中间件有哪些?各有什么优缺点?面试常问 RabbitMQ使用较多
- 官方暗示与TÜV莱茵合作? MIUI12真的不远了
- GIS专家:云GIS带来的最大影响是体系架构
- 2021-2025年中国制药行业MR报告软件行业市场供需与战略研究报告
- 讨论生活中什么样东西可以何种变量描述找出生活中顺序执行事情用c语言,《C语言程序设计》实验指导书...
- python基础教程-Python基础教程,Python入门教程(非常详细)
- GIS_GDAL java版下载/环境配置/dll配置/API使用文档
- 有效解决vue动态绑定多个class的官方实例语法无效的问题
- 极客大学架构师训练营 系统架构 分布式缓存 一致性哈希 Hash 第9课 听课总结
- 基于python版本的谷歌GEE云计算平台使用,以DEM数据下载为例(GEE系列1)
- Eclipse及Android环境配置
- 牛顿迭代公式(详细)
热门文章
- 国产RY8122 18V 2A 500KHz同步降压稳压芯片
- 银行核心操作系统as400 rs6000
- 江苏大学创新创业学分计算机学院,江苏大学创新学分评定标准
- 安装Windows 10X 教你如何安装Win10X正式版 及下载地址Win10X 20279.1002
- linux基础操作--参考狂神说
- 教你一键制作纯净Win10系统安装盘
- Oracle使用ancestor incarnation完成基于时间点的不完全恢复
- jQuery选择器ID、CLASS、标签获取对象值、属性、设置css样式
- word排版----分节、页眉页脚、页码、制作标题样式
- idea 修改单个文件的 编码格式