当前位置: 首页 > news >正文

Unity中颜色空间Gamma与Linear

文章目录

  • 前言
  • 一、人眼对光照的自适应
    • 1、光照强度与人眼所见的关系
    • 2、巧合的是,早期的电子脉冲显示屏也符合这条曲线
    • 3、这两条曲线都巧合的符合 y = x^2.2^(Gamma2.2空间)
  • 二、Gamma矫正
    • 1、没矫正前,人眼看电子脉冲显示屏,看见的颜色会更暗
    • 2、所以有了Gamma矫正,让人眼看显示屏的效果和看现实一样
  • 三、Unity中的Gamma空间
  • 四、Unity中的Linear空间


前言

Unity中颜色空间Gamma与Linear


一、人眼对光照的自适应

1、光照强度与人眼所见的关系

在下图中,先打开一盏灯,再打开一盏灯,光照强度在现实中应该是增加两倍,但是我们眼睛看见的却只是变亮了一点。

在这里插入图片描述

人眼看见的亮度,会呈现一个下凹曲线,不会与实际亮度值相同

在这里插入图片描述

2、巧合的是,早期的电子脉冲显示屏也符合这条曲线

在这里插入图片描述

达到屏幕的电子脉冲是线性的,但是屏幕显示的却和人眼一样呈现下凹
在这里插入图片描述

3、这两条曲线都巧合的符合 y = x2.2(Gamma2.2空间)

在这里插入图片描述


二、Gamma矫正

1、没矫正前,人眼看电子脉冲显示屏,看见的颜色会更暗

  • y2 = y2.2 = (x2.2)2.2
    在这里插入图片描述

2、所以有了Gamma矫正,让人眼看显示屏的效果和看现实一样

在这里插入图片描述

  • 矫正使用的是 y = x0.45

我们在Unity纹理中,看见的 sRGB 就是Gamma0.45所在的空间

在这里插入图片描述


三、Unity中的Gamma空间

在这里插入图片描述

在这里插入图片描述

  • 在Gamma空间下,原始贴图不管是不是sRGB。在存储时,统一认为sRGB
  • 在该贴图进入Shader着色器后,没有进行颜色修正,导致采样的结果是存在误差的
  • 所以,Gamma空间下看见的颜色会 过亮 或 过曝

在Gamma空间下,是不是sRGB都是一个色
在这里插入图片描述


四、Unity中的Linear空间

在这里插入图片描述

在这里插入图片描述

  • 在Linear空间下,作为颜色贴图的纹理需要勾选 sRGB,这样才会开启移除Gamma矫正
  • 在Linear空间下,作为控制数值的纹理不需要勾选 sRGB,这样采样的值才会和原本的一样
  • Linear空间与Gamma空间,不同在 进入Shader前的移除Gamma矫正 和 Shader输出后的Gamma矫正,这样可以消除Shader采样时的误差

不勾选sRGB的话,最后输出的颜色就会过亮
在这里插入图片描述
在Linear空间下
勾选sRGB:
在这里插入图片描述
不勾选sRGB:
在这里插入图片描述

相关文章:

  • Locust AI 例子
  • EtherCAT主站SOEM -- 8 -- SOEM之 ec_slave 结构体详细分析
  • 一种全新且灵活的 Prompt 对齐优化技术
  • Mysql面经
  • 量化交易:筹码理论的探索-筹码分布计算的实现
  • 2022年12月 Scratch(三级)真题解析#中国电子学会#全国青少年软件编程等级考试
  • Calling PeopleTools APIs 调用PeopleTools API
  • GPU和CPU的联系和区别是什么,各自有什么特点,
  • Java基准测试工具JMH的简介与使用
  • Day45:300.最长递增子序列、674. 最长连续递增序列、718. 最长重复子数组
  • Node.js下载安装及配置镜像源
  • vivo开发者链接
  • 机器学习/sklearn 笔记:K-means,kmeans++,MiniBatchKMeans,二分Kmeans
  • python .pyc文件(字节码文件)(字节码与机器码区别)
  • C++知识点总结(7):玩转高精度除法
  • C学习-枚举(九)
  • IOS评论框不贴底(ios12新bug)
  • Java多线程(4):使用线程池执行定时任务
  • MYSQL如何对数据进行自动化升级--以如果某数据表存在并且某字段不存在时则执行更新操作为例...
  • rc-form之最单纯情况
  • SpringBoot 实战 (三) | 配置文件详解
  • springMvc学习笔记(2)
  • 基于Volley网络库实现加载多种网络图片(包括GIF动态图片、圆形图片、普通图片)...
  • 批量截取pdf文件
  • 区块链共识机制优缺点对比都是什么
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 世界上最简单的无等待算法(getAndIncrement)
  • 移动互联网+智能运营体系搭建=你家有金矿啊!
  • Mac 上flink的安装与启动
  • 仓管云——企业云erp功能有哪些?
  • ​插件化DPI在商用WIFI中的价值
  • ​猴子吃桃问题:每天都吃了前一天剩下的一半多一个。
  • #我与Java虚拟机的故事#连载09:面试大厂逃不过的JVM
  • $con= MySQL有关填空题_2015年计算机二级考试《MySQL》提高练习题(10)
  • (1)(1.9) MSP (version 4.2)
  • (6)【Python/机器学习/深度学习】Machine-Learning模型与算法应用—使用Adaboost建模及工作环境下的数据分析整理
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)python旅游推荐系统 毕业设计 250623
  • (九)One-Wire总线-DS18B20
  • (转)3D模板阴影原理
  • (转)Mysql的优化设置
  • .NET Micro Framework初体验(二)
  • .NET 读取 JSON格式的数据
  • .NET/C# 判断某个类是否是泛型类型或泛型接口的子类型
  • .Net下C#针对Excel开发控件汇总(ClosedXML,EPPlus,NPOI)
  • .vimrc php,修改home目录下的.vimrc文件,vim配置php高亮显示
  • /etc/motd and /etc/issue
  • @EnableWebMvc介绍和使用详细demo
  • [BZOJ3223]文艺平衡树
  • [CTSC2014]企鹅QQ
  • [EULAR文摘] 利用蛋白组学技术开发一项蛋白评分用于预测TNFi疗效
  • [Kubernetes]2. k8s集群中部署基于nodejs golang的项目以及Pod、Deployment详解
  • [Kubernetes]9. K8s ingress讲解借助ingress配置http,https访问k8s集群应用
  • [LeetCode]Max Points on a Line
  • [Linux]——彻底学通权限