光照:技术信息和术语

35 篇文章 0 订阅

原文链接:光照:技术信息和术语

  • Surface:场景中所有mesh的所有三角形网格一起统称为场景的surface。场景中任何一个三角形网格上的点就是表面点(surface point)。
  • Emitted Light:场景中的表面直接发出的光线。
  • Directi Light:发出的光线照射到场景中的表面后直接反射到传感器(比如说眼睛的视网膜或者相机)。所有从光源发出后到达传感器的直接光统称为光照的direct contribution。
  • Indirect Light:发出的光线最终到达传感器之前,至少两次击中场景中的表面。所有从光源发出后达到传感器的间接光统称为光照的indirect contributio。
    alt text

场景中光照的反射

粗糙的表面将入射光散射到各个方向,可以照亮不被光源直接照射的表面。场景中的表面越粗糙,这些阴影区域就会越亮。以前的技术,是在直接光照的基础上简单叠加一个环境光颜色,以近似实现这种效果,这样阴影中的表面就不会是完全黑暗的。复杂一点的方式是根据表面的方向,使用渐进色来模拟不同的环境光,甚至使用球谐函数来模拟更复杂的环境光照
光滑的而表面将入射光按可预测的方向反射,在材质上形成明显的高亮。光滑表面的极限情况就是镜子,所有的入射光都精确反射到另一个方向。光滑表面的一个变体是半透明材质,可以在入射光进入和离开时遮光光线。
对间接光来说,光线至少要和场景中的表面发生两次关系。这些关系可以是光滑表面和粗糙表面反射的组合。比如,光滑表面的反射/折射击中了一个粗糙表面,从不同方向上都可以观察到聚集的光线和周围的低亮度区域明显区分开来,这种现象被称作caustics。粗糙表面的反射光击中另外一个粗糙表面通常被称为ambient lighting
由于光照会被场景中的表面多次反射,正确的处理方法应该考虑所有相关光线在整个场景中所有不同材质属性的表面之间的光照反应。也就是术语全局光照

解决这个问题

在计算机图形学中,光线跟踪(Ray tracing)是解决这个问题的非常优雅的方法,因为它尝试跟踪整个场景中的光线传播来模拟真实世界。电影产业现在全部都采用光线跟中的方式生成图像。
不幸的是,在实时计算的图形中,用光线跟踪生成图像太慢了,标准方法是rasterization。光栅化不想光线跟踪一样跟踪正常场景中的任意光线。实际上光栅化只计算光线传播路径的一部分,这就是在实时图形中光照变得复杂的原因。
由于光栅化不能跟踪光线, 实时光照就只负责光照中影响最明显的那部分。包括材质发光,更一般来说就是直接光。即使这种情况光线传播就已经分成了两部分:一个是从相机到表面的传播,另一个是从表面到光源。
第一部分是从相机位置渲染视图。为了计算第二部分,采用了shadow mapping这样的技术。由于每个光照投射的shadow map不一样,所以每个光源都需要一个独立的shadow map。投射阴影的光照越多,需要的shadow maps就越多。根据光照的数量,渲染消耗的时间很快就会长得无法接受。shadow maps的另一个缺陷是它们受限制的分辨率,这会导致块状阴影(锯齿)。因此,shadow maps引入了受限分辨率导致的图像问题,以及存储shadow maps的内存需求和每一帧计算的时间需求造成的性能问题。
与离线渲染不一样,游戏在渲染一帧所用的时间上由明确的硬性限制。比如,VR应用在11.11毫秒内渲染一帧,以达到90帧每秒的帧率(FPS)。需要玩家快速反应的游戏在16.66毫秒内渲染一帧一达到60FPS。30FPS的游戏在33.33ms内完成。这些时间必须同时包括应用或程序的其他计算,比如AI和物理特性。因此为了获得最好的效果,尽可能让一切经可能高效是非常重要的。所有的渲染消耗的时间必须小于一帧图像的时间。

总结

概括来说,两个需要处理的主要问题是:
1. 如何处理为直接光照计算阴影带来的性能问题。
2. 如何处理间接光(在实时图像的语境下,Global Illumination和间接光是同义的,尽管它实际上也包含了直接光)。


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值