レイトレーシングの光源
光源について調べていく。POV-Rayの主な光源は4種類で、点光源、スポット、シリンダ、平行光源である。
点光源(point lights)
1点から全方位に均一に光を放射する光源。点光源の場合、その照度は距離の二乗に反比例するはずだが、距離によって照度は変化しない。
![]() |
light_source{<0,0,5> color rgb<1,1,1>} |
スポットライト(spotlights)
このcos(Θ)は、光の入射角に対する特性に関係している。ある面に光が入射角度Θで入る場合、cosΘに比例してその光の照度が変化する。たとえば、真上から照射した場合は最大照度だが、真横から照射したら0になる。tightnessを指定すると、周辺に行くにしたがって減光する特性を指定することができる。また、radius=0、falloff=90とすれば、tightnessだけで減光を制御できる。
![]() |
| light_source{<0,0,5> color rgb<1,1,1> spotlight radius 10 falloff 20 tightness 0 point_at <-2.5,2.5,0> } |
シリンダーライト(Cylindrical lights)
レーザーをシミュレートする光源。ほとんどスポットライトと同じだが、円錐形でなく円柱形であるという点が異なる。
![]() |
| light_source{<0,0,5> color rgb<1,1,1> cylinder radius 1 falloff 2 tightness 0 point_at <-2.5,2.5,0>} |
平行光(parallel lights)
平行光の光源。拡散せずpoint_atに向かって平行な光が降り注いでいる状態。これとorthographicカメラを使えば、テレセントリックレンズに同軸落射照明を入れたのと同じ見た目になると考える。下図はorthographicカメラ+平行光
![]() |
| light_source {<0,0,5> color rgb<1,1,1> parallel point_at<0,0,0>} |
面照明(area_light)
あるサイズの面積を持つ光源で、実際には上で指定したような点光源やスポットライトなどを規則的に配置する方法で実現している。下図の例では、点光源を3x3の四角形を作って、そのなかに10x10で点光源を配置している。この結果、面照明を使った場合に得られる柔らかい影が生まれる。
![]() |
| light_source{<0,0,5> color rgb<1,1,1> area_light <3,0,0>,<0,3,0>,10,10} |
影無し照明(Shadowless)
環境光と同じだが、明確な光源が定義されている点が異なると記載されている。用途はよくわからない…
![]() |
| light_source{<0,0,5> color rgb<1,1,1> shadowless } |
光源の見た目(looks_like)
光源は通常目には見えないが、光源の形状を定義するためのもの。ただ、形状によって光源が制約されるわけではないので、見た目だけのものと思われる。下の図の場合、光源の位置に合わせて箱が移動している。
![]() |
| light_source{<0,0,3> color rgb<1,1,1> looks_like { box {<-0.5,-0.5,0.5>,<0.5,0.5,1.5>}}} |
形状を通した光(Projected_Through)
箱の上から光を照射し、その箱を通った光が投影する。下図は、白色の平行光を上に配置したうえで、赤色の投影光を出す形にしている。
![]() |
| light_source{<0,0,3> color rgb<1,0,0> projected_through { box {<-1.5,-1.5,0.5>,<1.5,1.5,1.5>}}} |
減光(Light Fading)
光の距離に対する減光をシミュレートできる。パラメータは、fade_distance とfade_powerで、 atte = 2/(1+(d/fade_distance)^fade_power)という式で減衰量が計算される。fade_distanceは、その光源が100%強度となる距離で、fade_powerは減衰にかかわる係数となる。
![]() |
| light_source{<0,0,10> color rgb<1,1,1> fade_distance 10 fade_power 2} |
このシミュレーションでは、光源から何かにぶつかるまでの光線は減衰されるが、ぶつかった後の反射光は、シミュレーションの対象外のため、減衰されない。










コメント
コメントを投稿