愚头的博客

一位图形学爱好者的唠叨

渲染器开发日志(三) 点光

点光

图形学中,通过点光来模拟小型发光体,如:灯泡、火把、蜡烛等。 这类发光体的特点是从自身表面向周围所有物体发射光线,所以在光线追踪时需要在发光体表面进行采样。 通常使用球体模拟此类物体的形状,根据半径在球表面随机采样。

相关参数

  • 颜色 - 光源颜色
  • 强度 - 光源亮度
  • 位置 - 光源位置
  • 长度 - 光源的影响范围
  • 半径
    • 用于模拟光源尺寸
    • 尺寸不同造成的阴影也不同
    • 参见下图

效果展示

颜色、强度和位置是常识,这里就不进行展示。

半径

通过影子柔和程度可以看出点光半径的大小

半径为0cm,如下图:

renderer-result-light-point-radius0

半径为5cm,如下图:

renderer-result-light-point-radius5

半径为20cm,如下图:

renderer-result-light-point-radius20

相关场景模型取自The Breakfast Room(License: CC-BY)