I:point lights (点光源,不会突出显示特定对象)
light_source {
<2, 10, -3>
color White
}
效果如下图:
II:spot lights(聚光灯光源,由于point_at的作用,所以光的方向会有选择性)
聚光灯的作用就是为了给object加上聚焦的作用,让对象看起来更炫,而弱化不被聚光灯照射的背景,spotlights的光源发射的形状为cone形状,这一点对于理解聚光灯的参数很重要。
light_source {
<0, 10, 0>
color White //白色聚光灯
spotlight
radius 30
falloff 20
tightness 10
point_at <0, 0, 0>
}
light_source {
<10, 10, -1>
color Red //红色聚光灯
spotlight
radius 12
falloff 14
tightness 10
point_at <2, 0, 0>
}
light_source {
<-12, 10, -1>
color Blue //蓝色聚光灯
spotlight
radius 12
falloff 14
tightness 10
point_at <-2, 0, 0>
}
效果如下图:
III:聚光灯(spotlight)和ambient搭配起来使用,可以更明显的看到效果,如下图:
注意:如果我们没有对ambient_light进行设置(系统会默认设置为rgb <1,1,1>舞台上的焦点感,就是通过设置暗的ambient_light和spotlight实现的
global_settings { ambient_light rgb<0, 0.1, 0.1> }
light_source {
<2, 10, -3>
color White
spotlight
radius 23
falloff 18
tightness 10
area_light <1, 0, 0>, <0, 0, 1>, 2, 2
adaptive 1
jitter
point_at <.5, 0, 1>
}
IV:两个spotlight的效果
global_settings { ambient_light rgb<0, 0, 0> }
light_source {
<2, 10, -3>
color <1,.0,0>
spotlight
radius 20
falloff 1
tightness 5
// area_light <1, 0, 0>, <0, 0, 1>, 2, 2
adaptive 1
jitter
point_at <.5, 0, 5>
}
light_source {
<2,30, -2>
color Gray
spotlight
radius 4
falloff 0
tightness 10
// area_light <1, 0, 0>, <0, 0, 1>, 2, 2
adaptive 1
jitter
point_at <2, 0, -2>
}
V:无影,有影灯效果[如下图]
light_source {
<5,5,0> White
shadowless // 不会产生影子的灯
}
VI:给光源赋予不同的形状和颜色(如现实中的灯泡,给光源加上looks_like选项)
如下图,三个不同颜色的光源
//blue bulb
#declare BLightbulb = union {
merge {
sphere { <0,0,0>,1 pigment { color <0,1,1> filter .9} finish {phong 1} }
cylinder {
<0,0,1>, <0,0,0>, 1
scale <0.35, 0.35, 1.0>
translate 0.5*z
}
texture {
pigment {color rgb <1, 1, 1>}
finish {ambient .8 diffuse .6}
}
} //end of merge
cylinder {
<0,0,1>, <0,0,0>, 1
scale <0.4, 0.4, 0.5>
texture { Brass_Texture }
//pigment {color Gold}
translate 1.5*z
}
rotate -90*x
scale .5
scale y*.25
}
//blue light_source
light_source {
<2, 2, 0>
color rgb <0,1,1>
looks_like { BLightbulb } //给光源赋予了形状和颜色
spotlight //给光源确定的方向,聚光
radius 23
falloff 18
tightness 10
point_at <2, 0, 0>
}
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。