Difference between revisions of "Reference:Object Modifiers"

From POV-Wiki
Jump to navigation Jump to search
m (1 revision: reference layout changes)
m (tense)
 
(5 intermediate revisions by the same user not shown)
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 28: Line 28:
 
</pre>
 
</pre>
  
<p>Transformations such as translate, rotate and scale have already been discussed. The modifiers <em>[[Reference:Texture|Textures]]</em> and its parts <em>[[Reference:Pigment|Pigment]]</em>, <em>[[Reference:Normal|Normal]]</em>, and <em>[[Reference:Finish|Finish]]</em> as well as <em>[[Reference:Interior|Interior]]</em>, and <em>[[Reference:Media|Media]]</em> (which is part of interior) are each in major chapters of their own below. In the sub-sections below we cover several other important modifiers: <code>[[Reference:Clipped By Object Modifier|clipped_by]]</code>, <code>[[Reference:Bounded By Object Modifier|bounded_by]]</code>, <code>[[Reference:Material|material]]</code>, <code>[[Reference:Inverse Object Modifier|inverse]]</code>, <code>[[Reference:Hollow Object Modifier|hollow]]</code>, <code>[[Reference:No Shadow Object Modifier|no_shadow]]</code>, <code>[[Reference:No Image Object Modifier|no_image]]</code>, <code>[[Reference:No Reflection Object Modifier|no_reflection]]</code>, <code>[[Reference:Double Illuminate Object Modifier|double_illuminate]]</code>, <code>[[Reference:No Radiosity Object Modifier|no_radiosity]]</code> and <code>[[Reference:Sturm Object Modifier|sturm]]</code>. 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 class="Note"><strong>Note:</strong> Some conditions can produce unexpected results. When applied to <em>CSG</em> components most modifiers work as expected, however by design some modifiers are not passed from nested objects to a <em>CSG</em> resultant involving those objects.</p>
 +
 
 +
<p>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>. <em>CSG</em> unions pass all modifiers listed above unless <code>split_union off</code> has been set, in which case the former list is ignored as with <code>difference</code>, <code>intersection</code> and <code>merge</code>.</p>
 +
 
 +
<p>While not technically object modifiers, object interior and finish subsurface blocks see similar <em>CSG</em> propagation complications.  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>. Furthermore, 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 may also see unexpected results.</p>
 +
 
 +
<p>See also: <em>[[Reference:Transformations|Transformations]]</em></p>
 +
<p>See also: <em>Hierarchy</em> in <code>[[Reference:Blob|blob]]</code> or <code>[[Reference:Height Field|height_field]]</code></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>

Latest revision as of 20:43, 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

Note: Some conditions can produce unexpected results. When applied to CSG components most modifiers work as expected, 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. CSG unions pass all modifiers listed above unless split_union off has been set, in which case the former list is ignored as with difference, intersection and merge.

While not technically object modifiers, object interior and finish subsurface blocks see similar CSG propagation complications. 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. Furthermore, 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 may also see unexpected results.

See also: Transformations

See also: Hierarchy in blob or height_field

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

See also: interior and media