Unity Shader 伽马校正详解
真实世界亮度(线性) 图像亮度 真实亮度在图像差值递减
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 伽马校正详解相关推荐
- (二十)unity shader之——————基于物理的渲染技术(PBS):下篇(PBS技术拓展:全局光照、伽马校正、HDR)
前面两篇文章我们介绍了PBS实现的数学和理论基础,和standard shader的原理和实现,还有一些其他的渲染相关的unity技术.其中有些概念和技术没有讲的很详细,现在对这些重要的概念进行更深入 ...
- 我理解的伽马校正(Gamma Correction)
[图形学]我理解的伽马校正(Gamma Correction) 2015年05月30日 18:22:52 妈妈说女孩子要自立自强 阅读数:69844 版权声明:本文为博主原创文章,未经博主允许不得转载 ...
- 有生之年转ta系列 2.6 伽马校正
本文内容来自 [技术美术百人计划]图形 2.6 伽马校正 观后记录 美术岗位代码或者算法一类的问题可能不太懂 本文仅用来记录学习,如果有不对的请指出谢谢 图形部分 第二章 伽马校正 颜色空间 色度图 ...
- 《Unity 3D 游戏开发技术详解与典型案例》——1.1节Unity 3D基础知识概览
本节书摘来自异步社区<Unity 3D 游戏开发技术详解与典型案例>一书中的第1章,第1.1节Unity 3D基础知识概览,作者 吴亚峰 , 于复兴,更多章节内容可以访问云栖社区" ...
- 《Unity 4 3D开发实战详解》一6.7 物理引擎综合案例
本节书摘来异步社区<Unity 4 3D开发实战详解>一书中的第6章,第6.7节,作者: 吴亚峰 , 杜化美 , 张月霞 , 索依娜 责编: 张涛,更多章节内容可以访问云栖社区" ...
- 图像亮度、对比度调节(伽马校正)
[OpenCV学习]图像亮度.对比度调节(伽马校正) 作者:gnuhpc 出处:http://www.cnblogs.com/gnuhpc/ #include "cv.h" #i ...
- OpenGL Gamma Correction伽马校正的实例
OpenGL Gamma Correction伽马校正 先上图,再解答. 完整主要的源代码 源代码剖析 先上图,再解答. 完整主要的源代码 #include <glad/glad.h> # ...
- 《Unity 3D 游戏开发技术详解与典型案例》——1.3节第一个Unity 3D程序
本节书摘来自异步社区<Unity 3D 游戏开发技术详解与典型案例>一书中的第1章,第1.3节第一个Unity 3D程序,作者 吴亚峰 , 于复兴,更多章节内容可以访问云栖社区" ...
- C#高级编程——C#扩展方法+接口,定义统一的搜索接口,基于Unity(三)——图文详解加源码
C#高级编程--C#扩展方法+接口,定义统一的搜索接口,基于Unity(三)--图文详解加源码 前言
- Unity实现植物识别示例详解
文章来源: 学习通http://www.bdgxy.com/ 普学网http://www.boxinghulanban.cn/ 智学网http://www.jaxp.net/ 表格制作excel教程h ...
最新文章
- python中的seth函数_Python入门——turtle库的使用
- linux路由表命令
- 太酷了!龙族幻想时装制作的秘密都在这里了!
- ASP.NET Core Web程序托管到Windows 服务
- cad方格网高程lisp编程_分享:方格网法土方工程量计算实例例题(疏浚清淤工程)...
- Qt文档阅读笔记-QThreadPool的解释及使用
- matlab 联合体,C++11非受限联合体(union)
- 跟随报文,开启一段奇妙之旅
- linux box 信息发布,使用Instantbox快速搭建一个开箱即用的Web端临时Linux系统
- 如何监控oracle的索引是否使用
- 基于kl变换的人脸识别_简述几种人脸识别的主要方法
- android设备多屏互动,大神教你玩转多屏互动-PC投屏安卓篇
- 【软技能】完全写作指南--简历
- 解决win10输入法卡顿问题
- 快速收录的软文发布平台
- 华为5g cpe 虚拟服务器,一图看懂华为5G CPE Pro
- soot 简介 | 安装运行
- HALCON数组的插入和删除
- 网站忘记密码,如何找回 -- (前提浏览器保存过密码)
- 分布式专题(一)什么是分布式
热门文章
- comsol 计算机配置,[转]我需要一台什么样的电脑运行我的COMSOL Multiphysics - 仿真模拟 - 小木虫 - 学术 科研 互动社区...
- EtherCAT运动控制器的PLC编程(一) 直线插补
- 用PC机实现与ATV12变频器Modbus通信控制电机
- 裂变!裂变!这里有一份完整的微信流量裂变指南
- spring源码解析百度网盘下载
- c# 模拟串口通信 SerialPort
- 【步态识别】GaitMPL
- thinkpad x250装黑苹果教程_GitHub - siweijianrong/Hackintosh: Hackintosh黑苹果长期维护机型EFI及安装教程整理...
- 微信小程序60s倒计时
- 信息系统的风险评估过程与评估方法