PBRT学习笔记: 颜色在离线渲染中的表示方法

本文简单总结下PBRT中的第五章的前半部分,是关于光谱的一些内容。这部分的内容相对而言比较独立,不受其他模块的制约。
计算机是一个有限的资源,我们的显示器同样是只能表示有限的信息量。举个简单的例子,对于一个普通的LCD 22寸的显示器而言,假设分辨率是1650*1080,而每个pixel只能表现出2的24次幂种不同的颜色,那么实际上一个屏幕最多能表示的信息也就是1650*1080*(2^24)。这里我们抛开分辨率不谈,只考虑一个pixel所能表示的信息量,其实只有2^24种不同颜色的表现能力。而我们现实生活中的颜色范围是非常广泛的,要远远大于这个数值,所以我们需要一种映射方式把现实生活中的光谱信息抽象到显示器所能表示的形式。从某种角度理解,我们可以理解为这是一种把一个接近无限的集合映射到一个有限集合的过程。显然这肯定不是一一映射了,前者中的任何一个数据只能对应后者中的相对应的唯一的一个数据,而反过来则未必。
首先,我们先简单解释下计算机中对于颜色的表示方法。这里就介绍两种比较常用的好了。第一种是我们最熟悉的RGB表示方法,即红绿蓝表示法。任何一个pixel所能表示的颜色由红绿蓝三原色组成,每个单独的通道一般用一个byte表示。另一种表示方法相对用的较少,每个颜色XYZ三种分量来控制。相对来说,这个比较难理解一些。不过就本质来讲,两者的差别不大,只是两种表示形式而已,是可以互相转换的。
在简单了解了计算机内部的颜色表示后,我们来了解下生活中的颜色的表示方法吧。中学的时候,大家都学过光具有波粒二项性。这里面我们只谈光波的性质吧,每个单独的光线都是有波长的,不同的波长在人眼中的表现形式是不一样的。波长在400左右的光在我们眼中表现为蓝光,波长为550的光表现为绿光,而波长在650左右的光波则表现为红光。在这个范围之外的,我们认为是红

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值