Difference between revisions of "Reference:Object Modifiers"

From POV-Wiki
Jump to navigation Jump to search
m (link repair)
m (continued corrections and addtions)
Line 1: Line 1:
<p>A variety of modifiers may be attached to objects. The following items may
+
<p>A variety of modifiers can be attached to objects. Some modifiers are specific to a particular object or group of objects, while some modifiers can be applied to all objects. Objects can anything from a simple predefined primitive, such as a [[Reference:Sphere|sphere]] or a [[Reference:Box|box]] to a complex object using <em>Constructive Solid Geometry</em> or [[Reference:Constructive Solid Geometry|CSG]].</p>
be applied to any object:</p>
+
 
 
<pre>
 
<pre>
 
OBJECT_MODIFIER:
 
OBJECT_MODIFIER:
Line 27: Line 27:
 
   TRANSFORMATION
 
   TRANSFORMATION
 
</pre>
 
</pre>
<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>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>Some conditions can produce unexpected results. When applied to <em>CSG</em> 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. Interiors get attached to the objects where interiors are defined. The <code>interior</code> and <code>subsurface</code> object and finish modifier block results, respectively, vary where definitions are part of components making up any given <em>CSG</em>. In the case of subsurface, if the distance between the two surfaces is similar or smaller than the translucency value, we start to see through the object. In a <em>CSG</em>, if the back surface doesn't have a similar translucency, you can get unexpected results.</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>All Transforms</em> <code>[[Reference:Transformations#translate|translate]]</code>, <code>[[Reference:Transformations#rotate|rotate]]</code> and <code>[[Reference:Transformations#scale|scale]]</code></p>

Revision as of 12:07, 27 March 2020

A variety of modifiers can be attached to objects. Some modifiers are specific to a particular object or group of objects, while some modifiers can be applied to all objects. Objects can anything from a simple predefined primitive, such as a sphere or a box to a complex object using Constructive Solid Geometry or CSG.

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

Some conditions can produce unexpected results. 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. Interiors get attached to the objects where interiors are defined. The interior and subsurface object and finish modifier block results, respectively, vary where definitions are part of components making up any given CSG. In the case of subsurface, if the distance between the two surfaces is similar or smaller than the translucency value, we start to see through the object. In a CSG, if the back surface doesn't have a similar translucency, you can get unexpected results.

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