Difference between revisions of "Documentation Talk:Reference Section 6.2"

From POV-Wiki
Jump to navigation Jump to search
(→‎pass_through: new section)
m
Line 5: Line 5:
 
By default, any objects between the photon source and target will ''completely'' block photons, ''even if the object in question is transparent''. To explicitly allow photons to transmit through such an object, mark the object as <code>photons { pass_through }</code>.
 
By default, any objects between the photon source and target will ''completely'' block photons, ''even if the object in question is transparent''. To explicitly allow photons to transmit through such an object, mark the object as <code>photons { pass_through }</code>.
  
In POV-Ray 3.6, specifying <code>pass_through</code> this had the following effect:
+
In POV-Ray 3.6, specifying <code>pass_through</code> had the following effect:
  
 
* If the object was normally opaque, it would ''not'' block photons on their way to their target at all, and not even affect their colour.
 
* If the object was normally opaque, it would ''not'' block photons on their way to their target at all, and not even affect their colour.
* If the object was partially or fully transparent, it would erroneously ''amplify'' photons on their way to their target; if the object had an IOR, part of the amplified light would even be refracted.
+
* If the object was partially or fully transparent, it would erroneously ''amplify'' photons on their way to their target; if the object had an IOR, part of the amplified light would even be subject to refraction in the <code>pass_through</code> object.
  
NOTE: <code>pass_through</code> only affects the interaction with photons on their way to their target; photons that have already transmitted through or reflected off their target will ''always'' interact with subsequent objects normally, regardless of the <code>pass_through</code> setting.
+
<p class="Note"><strong>Note:</strong> <code>pass_through</code> only affects the interaction with photons on their way to their target; photons that have already transmitted through or reflected off their target will ''always'' interact with subsequent objects normally, regardless of the <code>pass_through</code> setting.</p>
  
 
Marking an object as <code>no_shadow</code> will also prevent it from blocking photons; however, this will not only suppress interaction with photons on their way to their target, but also with photons that have already transmitted through or reflected off their target.
 
Marking an object as <code>no_shadow</code> will also prevent it from blocking photons; however, this will not only suppress interaction with photons on their way to their target, but also with photons that have already transmitted through or reflected off their target.
  
NOTE: The documentation of POV-Ray 3.6 contained some errors regarding both <code>pass_through</code> and <code>no_shadow</code> with regard to photons:
+
<p class="Note"><strong>Note:</strong> The documentation of POV-Ray 3.6 contained some errors regarding both <code>pass_through</code> and <code>no_shadow</code> with regard to photons:
 
* Media in objects marked <code>pass_through</code> were said to still collect photons on their way to their target; ''this is not the case''. Instead, photons on their way to their target are ''never'' collected by any surface or media whatsoever.
 
* Media in objects marked <code>pass_through</code> were said to still collect photons on their way to their target; ''this is not the case''. Instead, photons on their way to their target are ''never'' collected by any surface or media whatsoever.
* It was said that specifying <code>no_shadow</code> would automatically turn on <code>pass_through</code>, and that explicitly specifying <code>pass_through off</code> could be used to disable it again; ''this is not the case''. Instead, specifying <code>no_shadow</code> will suppress ''any'' interaction with photons whatsoever, regardless of any settings in the <code>photons</code> block.
+
* It was said that specifying <code>no_shadow</code> would automatically turn on <code>pass_through</code>, and that explicitly specifying <code>pass_through off</code> could be used to disable it again; ''this is not the case''. Instead, specifying <code>no_shadow</code> will suppress ''any'' interaction with photons whatsoever, regardless of any settings in the <code>photons</code> block.</p>

Revision as of 19:55, 13 April 2010

pass_through

Here's how it really currently works in POV-Ray 3.6:

By default, any objects between the photon source and target will completely block photons, even if the object in question is transparent. To explicitly allow photons to transmit through such an object, mark the object as photons { pass_through }.

In POV-Ray 3.6, specifying pass_through had the following effect:

  • If the object was normally opaque, it would not block photons on their way to their target at all, and not even affect their colour.
  • If the object was partially or fully transparent, it would erroneously amplify photons on their way to their target; if the object had an IOR, part of the amplified light would even be subject to refraction in the pass_through object.

Note: pass_through only affects the interaction with photons on their way to their target; photons that have already transmitted through or reflected off their target will always interact with subsequent objects normally, regardless of the pass_through setting.

Marking an object as no_shadow will also prevent it from blocking photons; however, this will not only suppress interaction with photons on their way to their target, but also with photons that have already transmitted through or reflected off their target.

Note: The documentation of POV-Ray 3.6 contained some errors regarding both pass_through and no_shadow with regard to photons:

  • Media in objects marked pass_through were said to still collect photons on their way to their target; this is not the case. Instead, photons on their way to their target are never collected by any surface or media whatsoever.
  • It was said that specifying no_shadow would automatically turn on pass_through, and that explicitly specifying pass_through off could be used to disable it again; this is not the case. Instead, specifying no_shadow will suppress any interaction with photons whatsoever, regardless of any settings in the photons block.