Difference between revisions of "Reference:Object Modifiers"

From POV-Wiki
Jump to navigation Jump to search
m (begin additions and changes)
m (continued corrections and addtions)
Line 27: Line 27:
 
   TRANSFORMATION
 
   TRANSFORMATION
 
</pre>
 
</pre>
<p>By design modifiers are not passed from nested objects to a [[Reference:Constructive Solid Geometry|CSG]] resultant involving those objects. Setting <code>[[Reference:Union#Split_Union|split_union off]]</code> provides the exception with unions and their excepting unions.</p>
+
<p>When applied to [[Reference:Constructive Solid Geometry|CSG]] components these modifiers work as expected: <em>All Transforms</em>, <code>[[Reference:Inverse Object Modifier|inverse]]</code>, <code>[[Reference:Bounded By Object Modifier|bounded_by]]</code>, <code>[[Reference:Clipped By Object Modifier|clipped_by]]</code>, <code>[[Reference:Cutaway_Textures|cutaway_textures]]</code>, <em>Hierarchy</em>, and <code>[[Reference:Sturm Object Modifier|sturm]]</code>. However by design some modifiers are not passed from nested objects to a <em>CSG</em> resultant involving those objects. This is true when using the following keywords and / or keyword blocks: <code>[[Reference:No Image Object Modifier|no_image]]</code>, <code>[[Reference:No Reflection Object Modifier|no_reflection]]</code>, <code>[[Reference:No Shadow Object Modifier|no_shadow]]</code>, <code>[[Reference:No Radiosity Object Modifier|no_radiosity]]</code>, <code>[[Reference:Double Illuminate Object Modifier|double_illuminate]]</code>, <code>[[Reference:Hollow Object Modifier|hollow]]</code>, <code>[[Reference:Photons|photons]]</code> and <code>[[Reference:Radiosity|radiosity]]</code>. Setting <code>[[Reference:Union#Split_Union|split_union off]]</code> provides the exception with unions and their accepting unions.</p>
<p>This is true for these keywords:</p>
 
<ul>
 
  <li><code>[[Reference:No Image Object Modifier|no_image]]</code></li>
 
  <li><code>[[Reference:No Reflection Object Modifier|no_reflection]]</code></li>
 
  <li><code>[[Reference:No Shadow Object Modifier|no_shadow]]</code></li>
 
  <li><code>[[Reference:No Radiosity Object Modifier|no_radiosity]]</code></li>
 
  <li><code>[[Reference:Double Illuminate Object Modifier|double_illuminate]]</code></li>
 
  <li><code>[[Reference:Hollow Object Modifier|hollow]]</code></li>
 
</ul>
 
<p>...and these modifier blocks:</p>
 
<ul>
 
  <li><code>[[Reference:Photons|photons]]</code></li>
 
  <li><code>[[Reference:Radiosity|radiosity]]</code></li>
 
</ul>
 
<p>The sub-sections below cover these important modifiers:</p>
 
<ul>
 
  <li><code>[[Reference:Clipped By Object Modifier|clipped_by]]</code></li>
 
  <li><code>[[Reference:Bounded By Object Modifier|bounded_by]]</code></li>
 
  <li><code>[[Reference:Material|material]]</code></li>
 
  <li><code>[[Reference:Hollow Object Modifier|hollow]]</code></li>
 
  <li><code>[[Reference:Inverse Object Modifier|inverse]]</code></li>
 
  <li><code>[[Reference:No Shadow Object Modifier|no_shadow]]</code></li>
 
  <li><code>[[Reference:No Image Object Modifier|no_image]]</code></li>
 
  <li><code>[[Reference:No Reflection Object Modifier|no_reflection]]</code></li>
 
  <li><code>[[Reference:Double Illuminate Object Modifier|double_illuminate]]</code></li>
 
  <li><code>[[Reference:No Radiosity Object Modifier|no_radiosity]]</code></li>
 
  <li><code>[[Reference:Sturm Object Modifier|sturm]]</code></li>
 
</ul>
 
 
 
 
<p>Although the examples below use object statements and object identifiers, these modifiers may be used on any type of object such as sphere, box etc.</p>
 
<p>Although the examples below use object statements and object identifiers, these modifiers may be used on any type of object such as sphere, box etc.</p>
  
<p>See also: <code>[[Reference:Transformations#translate|translate]]</code>, <code>[[Reference:Transformations#rotate|rotate]]</code> and <code>[[Reference:Transformations#scale|scale]]</code></p>
+
<p>See also: <em>All Transforms</em> <code>[[Reference:Transformations#translate|translate]]</code>, <code>[[Reference:Transformations#rotate|rotate]]</code> and <code>[[Reference:Transformations#scale|scale]]</code></p>
 
+
<p>See also: <em>Hierarchy</em> <code>[[Reference:Blob|blob]]</code> and <code>[[Reference:Height Field|height_field]]</code></p>
<p>See also: <em>[[Reference:Texture|Textures]]</em> and its constituents <em>[[Reference:Pigment|Pigment]]</em>, <em>[[Reference:Normal|Normal]]</em>, and <em>[[Reference:Finish|Finish]]</em></p>
+
<p>See also: <code>[[Reference:Material|material]]</code>, <code>[[Reference:Texture|texture]]</code>, <code>[[Reference:Pigment|pigment]]</code>, <code>[[Reference:Normal|normal]]</code> and <code>[[Reference:Finish|finish]]</code></p>
 
+
<p>See also: <code>[[Reference:Interior|interior]]</code>, and <code>[[Reference:Media|media]]</code></p>
<p>See also: <em>[[Reference:Interior|Interior]]</em>, and <em>[[Reference:Media|Media]]</em></p>
 

Revision as of 13:53, 26 March 2020

A variety of modifiers may be attached to objects. The following items may be applied to any object:

OBJECT_MODIFIER:
  clipped_by { UNTEXTURED_SOLID_OBJECT... } |
  clipped_by { bounded_by }                 |
  bounded_by { UNTEXTURED_SOLID_OBJECT... } |
  bounded_by { clipped_by }                 |
  no_shadow                  |
  no_image [ Bool ]          |
  no_radiosity [ Bool ]      |
  no_reflection [ Bool ]     |
  inverse                    |
  sturm [ Bool ]             |
  hierarchy [ Bool ]         |
  double_illuminate [ Bool ] |
  hollow  [ Bool ]           |
  interior { INTERIOR_ITEMS... }                        |
  material { [MATERIAL_IDENTIFIER][MATERIAL_ITEMS...] } |
  texture { TEXTURE_BODY }   |
  interior_texture { TEXTURE_BODY } |
  pigment { PIGMENT_BODY }   |
  normal { NORMAL_BODY }     |
  finish { FINISH_ITEMS... } |
  photons { PHOTON_ITEMS...}
  radiosity { RADIOSITY_ITEMS...}
  TRANSFORMATION

When applied to CSG components these modifiers work as expected: All Transforms, inverse, bounded_by, clipped_by, cutaway_textures, Hierarchy, and sturm. However by design some modifiers are not passed from nested objects to a CSG resultant involving those objects. This is true when using the following keywords and / or keyword blocks: no_image, no_reflection, no_shadow, no_radiosity, double_illuminate, hollow, photons and radiosity. Setting split_union off provides the exception with unions and their accepting unions.

Although the examples below use object statements and object identifiers, these modifiers may be used on any type of object such as sphere, box etc.

See also: All Transforms translate, rotate and scale

See also: Hierarchy blob and height_field

See also: material, texture, pigment, normal and finish

See also: interior, and media