真实世界亮度(线性)     图像亮度   真实亮度在图像差值递减
0.1                                      0.35            0.35
0.2                                      0.48            0.13
0.3                                      0.58            0.1
0.4                                      0.66            0.08
0.5                                      0.73            0.07
0.6                                      0.79            0.06
0.7                                      0.85            0.06
0.8                                      0.90            0.05
0.9                                      0.95            0.05
1                                          1                0.05

线性空间:
真实世界亮度0.2 -> gamma变亮编码到图像0.48 -> gamma矫正变暗解压到线性(真实) 0.2 参与线性计算
->编码到颜色缓冲0.48 ->显示器gamma矫正到0.2。

1. 亮度0.2,存储到gamma图变成0.48爆亮。
2. 通过勾选图片sRGB,采样时unity自动矫正pow(0.48, 2.2) = 0.2,线性值参与计算。
3. pow(0.2, 1/2.2)=0.48存入颜色缓存。
4. 显示器gamma矫正pow(0.48, 2.2)=0.2显示正常。

线性空间总结:
真实世界正常颜色 -> 图片(变亮) -> sRGB采样矫正变暗(正常颜色) shader计算 -> 放入颜色缓存(变亮) -> 屏幕gamma矫正变暗输出(正常颜色)

gamma空间总结:
真实世界正常颜色 -> 图片(变亮) -> shader计算 -> 放入颜色缓存 -> 屏幕gamma矫正变暗输出(正常颜色)

为什么要在线性空间下计算颜色值?
当计算出了亮度0.5时:
1. 在线性空间下存入颜色缓存为0.73,屏幕矫正显示为0.5,亮度正常。
2. 在gamma空间下存入颜色缓存为0.5,屏幕矫正显示为0.22,亮度变暗。
因此需要在线性空间下进行颜色计算。

Unity Shader 伽马校正详解相关推荐

  1. (二十)unity shader之——————基于物理的渲染技术(PBS):下篇(PBS技术拓展:全局光照、伽马校正、HDR)

    前面两篇文章我们介绍了PBS实现的数学和理论基础,和standard shader的原理和实现,还有一些其他的渲染相关的unity技术.其中有些概念和技术没有讲的很详细,现在对这些重要的概念进行更深入 ...

  2. 我理解的伽马校正(Gamma Correction)

    [图形学]我理解的伽马校正(Gamma Correction) 2015年05月30日 18:22:52 妈妈说女孩子要自立自强 阅读数:69844 版权声明:本文为博主原创文章,未经博主允许不得转载 ...

  3. 有生之年转ta系列 2.6 伽马校正

    本文内容来自 [技术美术百人计划]图形 2.6 伽马校正 观后记录 美术岗位代码或者算法一类的问题可能不太懂 本文仅用来记录学习,如果有不对的请指出谢谢 图形部分 第二章 伽马校正 颜色空间 色度图 ...

  4. 《Unity 3D 游戏开发技术详解与典型案例》——1.1节Unity 3D基础知识概览

    本节书摘来自异步社区<Unity 3D 游戏开发技术详解与典型案例>一书中的第1章,第1.1节Unity 3D基础知识概览,作者 吴亚峰 , 于复兴,更多章节内容可以访问云栖社区" ...

  5. 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例

    本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...

  6. 图像亮度、对比度调节(伽马校正)

    [OpenCV学习]图像亮度.对比度调节(伽马校正) 作者:gnuhpc  出处:http://www.cnblogs.com/gnuhpc/ #include "cv.h" #i ...

  7. OpenGL Gamma Correction伽马校正的实例

    OpenGL Gamma Correction伽马校正 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> # ...

  8. 《Unity 3D 游戏开发技术详解与典型案例》——1.3节第一个Unity 3D程序

    本节书摘来自异步社区<Unity 3D 游戏开发技术详解与典型案例>一书中的第1章,第1.3节第一个Unity 3D程序,作者 吴亚峰 , 于复兴,更多章节内容可以访问云栖社区" ...

  9. C#高级编程——C#扩展方法+接口,定义统一的搜索接口,基于Unity(三)——图文详解加源码

    C#高级编程--C#扩展方法+接口,定义统一的搜索接口,基于Unity(三)--图文详解加源码 前言

  10. Unity实现植物识别示例详解

    文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...

最新文章

  1. python中的seth函数_Python入门——turtle库的使用
  2. linux路由表命令
  3. 太酷了!龙族幻想时装制作的秘密都在这里了!
  4. ASP.NET Core Web程序托管到Windows 服务
  5. cad方格网高程lisp编程_分享:方格网法土方工程量计算实例例题(疏浚清淤工程)...
  6. Qt文档阅读笔记-QThreadPool的解释及使用
  7. matlab 联合体,C++11非受限联合体(union)
  8. 跟随报文,开启一段奇妙之旅
  9. linux box 信息发布,使用Instantbox快速搭建一个开箱即用的Web端临时Linux系统
  10. 如何监控oracle的索引是否使用
  11. 基于kl变换的人脸识别_简述几种人脸识别的主要方法
  12. android设备多屏互动,大神教你玩转多屏互动-PC投屏安卓篇
  13. 【软技能】完全写作指南--简历
  14. 解决win10输入法卡顿问题
  15. 快速收录的软文发布平台
  16. 华为5g cpe 虚拟服务器,一图看懂华为5G CPE Pro
  17. soot 简介 | 安装运行
  18. HALCON数组的插入和删除
  19. 网站忘记密码,如何找回 -- (前提浏览器保存过密码)
  20. 分布式专题(一)什么是分布式

热门文章

  1. comsol 计算机配置,[转]我需要一台什么样的电脑运行我的COMSOL Multiphysics - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
  2. EtherCAT运动控制器的PLC编程(一) 直线插补
  3. 用PC机实现与ATV12变频器Modbus通信控制电机
  4. 裂变!裂变!这里有一份完整的微信流量裂变指南
  5. spring源码解析百度网盘下载
  6. c# 模拟串口通信 SerialPort
  7. 【步态识别】GaitMPL
  8. thinkpad x250装黑苹果教程_GitHub - siweijianrong/Hackintosh: Hackintosh黑苹果长期维护机型EFI及安装教程整理...
  9. 微信小程序60s倒计时
  10. 信息系统的风险评估过程与评估方法