Difference between revisions of "Reference Talk:Light Source"

From POV-Wiki
Jump to navigation Jump to search
(copy-edit)
(copy-edit)
Line 58: Line 58:
 
<p>For point lights and spotlights you could also place the light source and the <code>looks_like</code> object at the origin and translate them later. But for <code>parallel</code> lights this will not work.</p>
 
<p>For point lights and spotlights you could also place the light source and the <code>looks_like</code> object at the origin and translate them later. But for <code>parallel</code> lights this will not work.</p>
  
<p>If you want the attached object to block light then you should attach it
+
<p>If you instead want the attached object to block light then you should attach it
 
with a <code>union</code> and not a <code>looks_like</code> as follows:</p>
 
with a <code>union</code> and not a <code>looks_like</code> as follows:</p>
 
<pre>
 
<pre>

Revision as of 22:47, 8 September 2016

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 the looks_like object so that light is not blocked by the object. Without the automatic no_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 a looks_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 the looks_like object so that light is not blocked by the object. Without the automatic no_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 for parallel lights this will not work.

If you instead want the attached object to block light then you should attach it with a union and not a looks_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.