Difference between revisions of "Reference:Potential Pattern"

From POV-Wiki
Jump to navigation Jump to search
(initial creation)
 
m (merged talk content)
Line 1: Line 1:
<p>{{New}} in version 3.7.1 a <code>potential</code> pattern has been added to define a pattern based on the <em>potential</em> field of a blob or <code>isosurface</code> object. More to follow...</p>
+
<p>{{New}} in version 3.7.1 a <code>potential</code> pattern has been added to define a pattern based on the <em>potential</em> field of a <code>blob</code> or <code>isosurface</code> object.</p>
 +
<p>Using <code>pigment</code> in the following example, the syntax for the new pattern is as follows:</p>
 +
 
 +
<pre>
 +
pigment {
 +
  potential { BLOB | ISOSURFACE }
 +
  [threshold BOOL]
 +
  [PIGMENT_MODIFIERS...]
 +
  }
 +
</pre>
 +
 
 +
<p>With <code>threshold on</code> the pattern will take the <code>blob</code> or <code>isosurface</code> object's <em>potential minus the threshold</em>; otherwise it will take the <em>raw potential</em> which is the default behavior.</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>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 class="Note"><strong>Note:</strong> By default this is the opposite for isosurfaces, so for easier use, the new pattern is therefore accompanied by an extension to the <code>isosurface</code> syntax as shown below:</p>
 +
 
 +
<pre>
 +
isosurface {
 +
  ...
 +
  polarity FLOAT
 +
  ...
 +
  }
 +
</pre>
 +
 
 +
<p>Setting <code>polarity</code> 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</p>
 +
 
 +
<p>See also: [[Reference:Blob|Blob]] and [[Reference:Isosurface|Isosurface]]</p>

Revision as of 11:21, 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