Okamoto's Homepage
透明なオブジェクトに鏡面反射をつけるときは,「conserve_energy」というオプションをつけます。鏡面反射を付け加えるだけだと,オブジェクトが明るくなっていまいます。ソースは次のような感じになります。
object {
sphere { <0, 0, 0>, 0.5 }
texture {
pigment {
color rgbf <0.9, 0.9, 1, 0.9>
}
}
finish {
specular 0.4
reflection 0.2
conserve_energy
}
translate <0, 0.5, 0>
}
|
conserve_energyを付け加えた場合とそうでない場合を比較してみました。
![]() |
![]() |
![]() |
| 鏡面反射なし | 鏡面反射だけ | conserve_energy付加 |
|---|
上の画像のソースの全体は次のようになっています。
#include "colors.inc"
#include "skies.inc"
camera {
location <0, 2, -3>
look_at <0, 0.5, 0>
angle 20
right x*image_width/image_height
}
light_source {
<100, 30, -100>
color rgb 1
}
object {
sphere { <0, 0, 0>, 0.5 }
texture {
pigment {
color rgbf <0.9, 0.9, 1, 0.9>
}
}
finish {
specular 0.4
reflection 0.2
conserve_energy
}
translate <0, 0.5, 0>
}
object {
plane { y, 0 }
texture {
pigment {
checker
color rgb 1,
color rgb 0
}
finish {
ambient 0.5
}
}
}
sky_sphere {
S_Cloud5
}
|