Difference between revisions of "Reference:Potential Pattern"

From POV-Wiki
Jump to navigation Jump to search
m (merged talk content)
m (changed tag)
Line 14: Line 14:
 
<p>The <em>isosurface's</em> container has no effect on the <code>potential</code> pattern.</p>
 
<p>The <em>isosurface's</em> container has no effect on the <code>potential</code> pattern.</p>
  
<p>The pattern value is <em>not</em> bound to the [0..1] range, unless you explicitly specify a <code>wave_type</code>.</p>
+
<p>The pattern value is <em>not</em> bound to the [0..1] range, unless you explicitly specify a <em>wave_type</em>.</p>
  
 
<p>Applying the <code>inverse</code> keyword to the object will cause the pattern to be reversed as well; so, when using <code>threshold on</code> for blobs, positive pattern values always indicate inside, while negative values indicate outside.</p>
 
<p>Applying the <code>inverse</code> keyword to the object will cause the pattern to be reversed as well; so, when using <code>threshold on</code> for blobs, positive pattern values always indicate inside, while negative values indicate outside.</p>

Revision as of 11:37, 20 December 2016

New in version 3.7.1 a potential pattern has been added to define a pattern based on the potential field of a blob or isosurface object.

Using pigment in the following example, the syntax for the new pattern is as follows:

pigment {
  potential { BLOB | ISOSURFACE }
  [threshold BOOL]
  [PIGMENT_MODIFIERS...]
  }

With threshold on the pattern will take the blob or isosurface object's potential minus the threshold; otherwise it will take the raw potential which is the default behavior.

The isosurface's container has no effect on the potential pattern.

The pattern value is not bound to the [0..1] range, unless you explicitly specify a wave_type.

Applying the inverse keyword to the object will cause the pattern to be reversed as well; so, when using threshold on for blobs, positive pattern values always indicate inside, while negative values indicate outside.

Note: By default this is the opposite for isosurfaces, so for easier use, the new pattern is therefore accompanied by an extension to the isosurface syntax as shown below:

isosurface {
  ...
  polarity FLOAT
  ...
  }

Setting polarity to a positive value causes above-threshold values to be interpreted as inside, and below-threshold values as outside, rather than the other way round

See also: Blob and Isosurface