PBR--RTR4笔记--shading基础

1 篇文章 0 订阅
0 篇文章 0 订阅

这只是笔记,有很多理解和翻译错误的,请谨慎参考。请以原书为准。

Display Encoding

运类似lighting,texturing计算操作时的颜色值一般使用linear,

但是颜色图可能存储为sRGB

CRT历史原因,该种设备输出信号和输入信号有这个关系:y = pow(x,1/2.2)

现代显示器也通过电路模仿这种关系

texture—decode–>tex2D(s,t) : linear --encode–>fb:sRGB --display transfer function(decode)—>display

在这里插入图片描述
C o l o r s R G B ∈ [ 0 , 255 ] Color_{sRGB}\in[0,255] ColorsRGB[0,255] 整数

C o l o r l i n e a r ∈ [ 0 , 1 ] Color_{linear}\in[0,1] Colorlinear[0,1]浮点数

linear-to-sRGB

y = f s R G B − 1 ( x ) y=f_{sRGB}^{-1}(x) y=fsRGB1(x)= { 1.055 x 1 2.4 − 0.55 , x &gt; 0.0031308 12.92 x , x &lt; = 0.0031308 \left\{\begin{array}{c}1.055x^\frac{1}{2.4}-0.55,x&gt;0.0031308 \\12.92x,x&lt;=0.0031308 \end{array} \right. {1.055x2.410.55,x>0.003130812.92x,x<=0.0031308

简化算法(gamma correction)

y = f d i s p l a y − 1 ( x ) = x 1 λ y=f_{display}^{-1}(x)=x^{\frac{1}{\lambda}} y=fdisplay1(x)=xλ1

λ = 2.2 ​ \lambda=2.2​ λ=2.2

{ 1.055 x 1 2.4 − 0.55 y 12.92 , y &lt; = 0.04045 ​ \left\{\begin{array}{c}1.055x^\frac{1}{2.4}-0.55 \\\frac{y}{12.92},y&lt;=0.04045 \end{array} \right.​ {1.055x2.410.5512.92y,y<=0.04045

sRGB-to-linear

x = f s R G B ( y ) ​ x=f_{sRGB}(y)​ x=fsRGB(y)= { ( y + 0.055 1.055 ) 2.4 , y &gt; 0.04045 y 12.92 , y &lt; = 0.04045 ​ \left\{\begin{array}{c}{(\frac{y+0.055}{1.055})}^{2.4} ,y&gt;0.04045\\\frac{y}{12.92},y&lt;=0.04045 \end{array} \right.​ {(1.055y+0.055)2.4,y>0.0404512.92y,y<=0.04045

简化

x = f d i s p l a y ( y ) = y λ x=f_{display}(y)=y^\lambda x=fdisplay(y)=yλ

移动端的方法

y = f s i m p l − 1 ( x ) = ( x ) , y=f_{simpl}^{-1}(x)=\sqrt(x), y=fsimpl1(x)=( x),

x = f s i m p l ( y ) = y 2 , x=f_{simpl}(y)=y^2, x=fsimpl(y)=y2,

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值