Reference Talk:Light Source
looks_like
Here is the current wording:
Normally the light source itself has no visible shape. The light simply radiates from an invisible point or area. You may give a light source any shape by adding a
looks_like {
OBJECT}
statement.There is an implied
no_shadow
attached to thelooks_like
object so that light is not blocked by the object. Without the automaticno_shadow
the light inside the object would not escape. The object would, in effect, cast a shadow over everything.If you want the attached object to block light then you should attach it with a
union
and not alooks_like
as follows:union { light_source { <100, 200, -300> color White } object { My_Lamp_Shape } }Presumably parts of the lamp shade are transparent to let some light out.
Here is my suggested wording:
Normally the light source itself has no visible shape. The light simply radiates from an invisible point or area. You may give a light source any shape by adding a
looks_like {
OBJECT}
statement.There is an implied
no_shadow
attached to thelooks_like
object so that light is not blocked by the object. Without the automaticno_shadow
the light inside the object would not escape. The object would, in effect, cast a shadow over everything.When creating the light source, the
looks_like
object should be positioned at the origin. For instance:union { light_source { <100, 200, -300> color White } object { sphere { <0, 0, 0>, My_Lamp_Radius } } }Alternately, like this:
#declare My_Lamp_Shape = sphere { <0, 0, 0>, My_Lamp_Radius } light_source { <100, 200, -300> color White looks_like { My_Lamp_Shape } }For point lights and spotlights you could also place the light source and the
looks_like
object at the origin and translate them later. But forparallel
lights this will not work.If you want the attached object to block light then you should attach it with a
union
and not alooks_like
as follows:union { light_source { <100, 200, -300> color White } object { My_Lamp_Shape } }Presumably parts of the lamp shade are transparent to let some light out.