从零开始的跨平台渲染引擎(番外一)——光和相机

前言

基于物理渲染中使用的光和相机也需要符合物理性质,那么首先需要确定在物理世界中,光和相机是如何描述的。而其中最核心的,就是如何划定参与计算的数值类型和范围。
本文主要阐述了物理世界中,光如何量定,相机参数含义,以及它们如何参与到着色计算,以及实际应用。


光的单位

光学术语 标记 单位 定义
光通量 Luminous flux / Luminous power Φ \mathrm{\Phi} Φ 流明 Lumen ( l m = c d ⋅ s r \mathrm{lm=cd\cdot sr} lm=cdsr) 单位时间内由光源所发出或由被照物所吸收的总光能
发光强度、光度 Luminous Intensity I \mathrm{I} I 坎德拉 Candela ( c d = l m / s r \mathrm{cd=lm/sr} cd=lm/sr) 光源在给定方向上,每单位立体角内所发出的光通量
照度 Illuminance E \mathrm{E} E 勒克斯 Lux ( l x = l m / m 2 \mathrm{lx=lm/m^{2}} lx=lm/m2) 物体表面每单位面积所吸收或发出可见光的光通量
亮度、辉度 Luminance L \mathrm{L} L 尼特、坎德拉每平米 ( n i t = c d / m 2 \mathrm{nit=cd/m^{2}} nit=cd/m2) 单位面积光源在给定方向上,在每单位面积内所发出的总光通量

通过上表中,各种单位的定义可以确定各种类型光源的单位;

光源类型 单位 原因
方向光 Illuminance ( l x \mathrm{lx} lx) 方向统一(不能使用 c d \mathrm{cd} cd),且没有固定的发光物,无法统计总光能(不能使用 l m \mathrm{lm} lm)
点光源 Luminous power ( l m \mathrm{lm} lm) 有固定发光物,可以统计总光能
聚光灯 Luminous power ( l m \mathrm{lm} lm) 原因同上
IBL基于图像的光源 Luminance ( c d / m 2 \mathrm{cd/m^{2}} cd/m2) 对于引擎捕获光探头使用亮度单位非常直观

光的使用

方向光

L o u t = f ( v , l ) E ⊥ ⟨ n ⋅ l ⟩ \mathrm{L_{out}}=f(v,l)\mathrm{E}_{\perp}\langle n\cdot l\rangle Lout=f(v,l)Enl
输出值的单位是亮度单位,尼特( n i t \mathrm{nit} nit)。

一般用方向光模拟日光、月光,下表是实际测量晴天时的照度:

光源 10:00 am 12:00 pm 5:30 pm
S k y ⊥ + S u n ⊥ Sky_{\perp}+Sun_{\perp} Sky+Sun 120 , 000 120,000 120,000 130 , 000 130,000 130,000 90 , 000 90,000 90,000
S k y ⊥ Sky_{\perp} Sky 20 , 000 20,000 20,000 25 , 000 25,000 25,000 9 , 000 9,000 9,000
S u n ⊥
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

董小虫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值