/disk1/scratch/aselle/projects/seexpr/SeExpr/src/doc/userdoc.txt File Reference

Functions

< br > pow ($a, 0.5)+$b< br >< br ></div > External variables can also be overridden by local assignment.&nbsp
 fbm (vnoise($P)+$P/4)< br ></div >< br >< h4 >< a name
constrain x to range[lo, hi]
< br >< br > float< b > 
compress</b > (float x, float lo, float hi)&nbsp
< divstyle="margin-left:40px;">
Compress the dynamic range
from[0..1] to[lo..hi]< br >
</div > float< b > 
expand</b > (float x, float lo, float hi)< div style
the contrast is increased< br >
</div > float< b > 
invert</b > (float x)-Invert the value.&nbsp
Defined as x< br >< br > float< b > remap</b > (float x, float source, float range, float falloff, int interp)< br >< div style
int< b > and negative results
are clamped at zero< br ></div >
color< b > 
hsi</b > (color x, float h, float s, float i, float map=1)< br >< div style
The shift will be scaled back
for values between zero and
one< br ></div > color< b > 
midhsi</b > (color x, float h, float s, float i, float map, float falloff=1, int interp=0)< br >< div style
The default falloff and interp
values result in no remapping
< br ></div >< br > color< b > 
rgbtohsl</b > (color rgb)< br > color< b >hsltorgb</b >(color hsl)< br >< div style
< br > HSL is Lightness (all in range[0..1])< br > These functions have also been extended to support rgb and hsl values outside of the range[0..1] in a reasonable way.&nbsp
For any rgb or hsl value (except for negative s values)
For any rgb or hsl the
conversion is well defined and
reversible< br ></div >< br >
float< b > 
bias</b > (float x, float b)< div style
Defined as pow (x, log(b)/log(0.5)).< br ></div > float< b >gamma</b >(float x
Defined as float g pow (x, 1/g)< br >< br > float< b >fit</b >(float x
Defined as float g float float
float float b2< divstyle="margin-left:40px;">
Linear remapping of[a1..x..b1]
to[a2..x..b2]< br ></div >
float< b > 
mix</b > (float a, float b, float alpha)< div style
Defined as a *alpha b *alpha
< br ></div >< br > float< b > 
boxstep</b > (float x, float a)< br > float< b >gaussstep</b >(float x
Defined as a *alpha b *alpha
< br ></div >< br > float< b >
float float b< br > float< b > 
linearstep</b > (float x, float a, float b)< br > float< b >smoothstep</b >(float x
 b (or x &gt;a in the case of boxstep).&nbsp
gausstep is has a sharper
transition near one and a
softer transition near zero
whereas smoothstep is has a
medium softness near both one
and zero< br ></div >< br >
< h4 >< aname="Noise_Functions">
</a > Noise Functions</h4 >
float< b > 
rand</b > ([float min, float max],[float seed])< br >< div style
Any number of seeds may be
given and the result will be a
random function based on all
the seeds< br ></div > float
< b > 
cellnoise</b > (vector v) float< b >cellnoise1</b >(float x)< br > float< b >cellnoise2</b >(float x
Any number of seeds may be
given and the result will be a
random function based on all
the seeds< br ></div > float
< b > float y< br > float< b > 
cellnoise3</b > (float x, float y, float z)< br > color< b >ccellnoise</b >(vector v)-color cellnoise< br >< div style
This is the same as the prman
cellnoise function< br ></div >
< br > float< b > 
noise</b > (vector v)< br > float< b >noise</b >(float x
This is the same as the prman
cellnoise function< br ></div >
< br > float< b > float y< br >
float< b > 
noise</b > (float x, float y, float z)< br > float< b >noise</b >(float x
This is the same as the prman
cellnoise function< br ></div >
< br > float< b > float y< br >
float< b > float float float
w< br > color< b > 
cnoise</b > (vector v)-color noise< br > float< b >snoise</b >(vector v)-signed noise w/range-1 to 1.< br > vector< b >vnoise</b >(vector v)-signed vector noise< br > color< b >cnoise4</b >(vector v
This is the same as the prman
cellnoise function< br ></div >
< br > float< b > float y< br >
float< b > float float float
w< br > color< b > float t
color noise< br > float< b > 
snoise4</b > (vector v, float t)-signed noise w/range-1 to 1.< br > vector< b >vnoise4</b >(vector v
This is the same as the prman
cellnoise function< br ></div >
< br > float< b > float y< br >
float< b > float float float
w< br > color< b > float t
color noise< br > float< b >
float t signed vector noise
< br > float< b > 
pnoise</b > (vector v, vector period)-periodic noise< br >< div style
This is Ken Perlin s original
noise function< br ></div >
< br > float< b > 
perlin</b > (vector v)< br > color< b >cperlin</b >(vector v)-color noise< br > float< b >sperlin</b >(vector v)-signed noise w/range-1 to 1.< br > vector< b >vperlin</b >(vector v)-signed vector noise< br >< div style
The< i > gain</i > controls
how much each frequency is
scaled relative to the
previous frequency< br ></div >
< br > float< b > 
turbulence</b > (vector v, int octaves &nbsp;=&nbsp;6, float lacunarity &nbsp;=&nbsp;2, float gain &nbsp;=&nbsp;0.5)< br > color< b >cturbulence</b >(vector v
< br > vector< b > vturbulence</b > (vector v, int octaves &nbsp;=&nbsp;6, float lacunarity &nbsp;=&nbsp;2, float gain &nbsp;=&nbsp;0.5)< br >< div style
This gives a more billowy
appearance< br ></div >< br >
< br > float< b > 
voronoi</b > (vector v, int type &nbsp;=&nbsp;1, float jitter &nbsp;=&nbsp;0.5, float fbmScale &nbsp;=&nbsp;0, int fbmOctaves &nbsp;=&nbsp;4, float fbmLacunarity &nbsp;=&nbsp;2, float fbmGain &nbsp;=&nbsp;0.5)< br > color< b >cvoronoi</b >(vector v
< br > vector< b > pvoronoi</b > (vector v, float jitter &nbsp;=&nbsp;0.5, float fbmScale &nbsp;=&nbsp;0, int fbmOctaves &nbsp;=&nbsp;4, float fbmLacunarity &nbsp;=&nbsp;2, float fbmGain &nbsp;=&nbsp;0.5)< br >< div style
The jitter param controls how
irregular the pattern 
is (jitter=0 is like ordinary cellnoise).&nbsp
When fbmScale is zero (the default)
</div >< br >< h4 >< aname="Texture_Lookup_Functions">
</a > Texture Lookup Functions
</h4 > vector< b > 
map</b > (string filename,[float format-arg],[float u, float v],[int channel])< br >< div style
The result is computed as (loRange+value%(hiRange-loRange+1)).< br ></div >< br > int< b >pick</b >(float index
The result is computed int int
< br >< divstyle="margin-left:40px;">
Picks values randomly between
loRange and hiRange based on
supplied 
index (which is automatically hashed).&nbsp
Any weights not supplied are
assumed to be< br >< br ></div >
float< b > 
choose</b > (float index, float choice1, float choice2,[...])< br >< div style
< i > references a file named
noise map tx</i >< br ></li >
< li > 
map ( 'fenceColor-%04d.tx', 12)&nbsp
< i > references a file named
fenceColor tx</i ></li >< li > 
map ( 'map-%d.tx', $objectId)&nbsp
< i > builds the filename
based on the object Id</i >
</li >< li > 
map ( 'map-%d.tx', cycle($objectId, 10, 20))&nbsp
< i > cycles through maps
through based on object Id</i >
</li >< li > 
map ( 'map-%d.tx', pick($objectId, 10, 20))&nbsp
If a scalar is used in a
vector it is replicated into
the three 
components (e.g.0.5 becomes[0.5, 0.5, 0.5]).&nbsp
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > 
curve</b > (float param, float pos0, color val0, int interp0, float pos1, color val1, int interp1,[...])< br > Interpolates color ramp given by control points at 'param'.Control points are specified by triples of parameters pos_i
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are 
monotone (non-oscillating) spline</p >< p > float< b >curve</b >(float param
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int< br >
Interpolates a ramp defined
by control points at param
Control points are specified
by triples of parameters and
interp_i Interpolation codes
are float float float float
< br > Interpolates a set of
values to the parameter
specified where yn are
distributed evenly from[0...1]
</p >< h4 >< aname="Misc_Functions">
</a > Misc Functions</h4 >< p >
void< b > 
printf</b > (string format,[param0, param1,...])< br > Prints a string to stdout that is formatted as given.Formatting parameters possible are%f for float(takes first component of vector argument) or%v for vector.For example if you wrote printf("test %f %v"
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int< br >
Interpolates a ramp defined
by control points at param
Control points are specified
by triples of parameters and
interp_i Interpolation codes
are float float float float
< br > Interpolates a set of
values to the parameter
specified where yn are
distributed evenly from[0...1]
</p >< h4 >< aname="Misc_Functions">
</a > Misc Functions</h4 >< p >
void< b > you would get test[4, 5, 6]
</p >< h4 >< aname="Operators">
</a > 
Operators (listed in decreasing precedence)</h4 >< table cellpadding
e g $P[0]</td ></tr >< tr >
< td >< b ></b ></td >< td > 
exponentiation (same as pow function)</td ></tr >< tr >< td >< b >!</b ></td >< td >logical NOT</td ></tr >< tr >< td >< b >~</b ></td >< td >inversion(i.e.~$A gives the same result as 1-$A)</td ></tr >< tr >< td >< b > *&nbsp
</b ></td >< td > modulus (same as fmod function)</td ></tr >< tr >< td >< b >+&nbsp
 contrast (.7)-&gt
 clamp (0.2,&nbsp;0.8)< br > $u &nbsp
 hsi (20,&nbsp;1.2,&nbsp;1,&nbsp;$Cs &nbsp;-&gt;&nbsp;gamma(1.2))</td ></tr ></tbody ></table >< br >< h4 >< a name

Variables

<!--*(c) DisneyEnterprises,
Inc.Allrightsreserved.**ThisfileislicensedunderthetermsoftheMicrosoftPublicLicense(MS-PL)*asdefinedat:http:**Acompletecopyofthislicenseisincludedinthisdistributionasthefile
*LICENSE.-->< h3 > Shader XGen
Paint3d Expressions</h3 >< ul >
< li >< ahref="#Variables">
Variables</a ></li >< li >
< ahref="#Color_Masking_and_Remapping_Functions"> 
Color
<!--*(c) DisneyEnterprises,
Inc.Allrightsreserved.**ThisfileislicensedunderthetermsoftheMicrosoftPublicLicense(MS-PL)*asdefinedat:http:**Acompletecopyofthislicenseisincludedinthisdistributionasthefile
*LICENSE.-->< h3 > Shader XGen
Paint3d Expressions</h3 >< ul >
< li >< ahref="#Variables">
Variables</a ></li >< li >
< ahref="#Color_Masking_and_Remapping_Functions"> 
Masking
< br > $a = noise($P)
< br > $b = noise($a * 1)
This can be useful to scale
the noise frequency for 
instance
< br > $P = $P * 10
For c from to
For c from the contrast is
decreased & 
nbsp
For c & gt = &nbsp
When x is within< i > range</i > of source
The falloff shape is
controlled by< i > interp</i >
Numeric values or named
constants may be 
used
int< b > linear</b >
int< b > smooth</b >
int< b > gaussian</b >
At the mid point
 At
the full shift happens
the full shift and at
< br > HSL is Hue
< br > HSL is Saturation
pulling the curve up and values & lt
Defined as float g float a1
Defined as float g float float b1
Defined as float g float float
float 
a2
Defined as a *alpha b *alpha
< br ></div >< br > float< b >
float 
a
Between a and b
 Intuitively
This is the same as the prman
cellnoise function< br ></div >
< br > float< b > float y< br >
float< b > float 
y
This is the same as the prman
cellnoise function< br ></div >
< br > float< b > float y< br >
float< b > float float 
z
The remaining params are the
same as for the fbm function
< br > Voronoi types 
through
The result is computed int loRange
The result is computed int int hiRange
< i > picks maps through
randomly based on object Id</i >
< br ></li ></ul >< br >< h4 >
< aname="General_Math_Functions">
</a > General Math Functions
and Constants< br ></h4 >
float< b > 
PI</b >
If a scalar is used in a vector context
For< b > pick
For< b ></b >< b > choose
For< b ></b >< b ></b >< b > cycle
For< b ></b >< b ></b >< b >
</b >< b > 
spline
For< b ></b >< b ></b >< b >
</b >< b ></b > 
etc
For< b ></b >< b ></b >< b >
</b >< b ></b > will work just
fine with vectors< br >< br >
Arithmetic operators such 
as
For example
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > 
val_i
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are 
none
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are 
linear
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are 
smooth
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float 
pos0
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float 
val0
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int 
interp0
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float 
pos1
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float 
val1
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int 
interp1
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int< br >
Interpolates a ramp defined
by control points at param
Control points are specified
by triples of parameters 
pos_i
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int< br >
Interpolates a ramp defined
by control points at param
Control points are specified
by triples of parameters and
interp_i Interpolation codes
are float 
y1
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int< br >
Interpolates a ramp defined
by control points at param
Control points are specified
by triples of parameters and
interp_i Interpolation codes
are float float 
y2
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int< br >
Interpolates a ramp defined
by control points at param
Control points are specified
by triples of parameters and
interp_i Interpolation codes
are float float float 
y3
For applying the gamma
function to a map adjusts the
gamma of all three color
channels< br >< br >< h4 >
< aname="Curve_Functions"></a >
Curve Functions</h4 >< p >
Interpolation of parameter
values to a set of control
points is governed by the
following functions</p >< p >
color< b > and interp_i
Interpolation codes are float
float int float float int< br >
Interpolates a ramp defined
by control points at param
Control points are specified
by triples of parameters and
interp_i Interpolation codes
are float float float float 
y4
< b ></b >< br >< b ></b ></td >
< td > vector constructor< br >
vector component access n
must 
be
</b ></td >< td > multiply
</b ></td >< td > divide
</b ></td >< td > add
</b ></td >< td > equality
</b ></td >< td > inequality
</td ></tr >< tr >< td >< b > & 
amp
 __pad0__
 __pad1__
</b ></td >< td > apply The
function on the right of the
arrow is applied to the
expression on the left< br > 
Examples
For a multi line expression

Function Documentation

The result is computed as ( loRange+value%  hiRange-loRange+1  ) 
b ( or x &gt;a in the case of  boxstep  ) 
For any rgb or hsl the conversion is well defined and reversible<br></div><br> float<b> bias</b > ( float  x,
float  b 
)
Defined as a* alpha b* alpha<br></div><br> float<b> boxstep</b > ( float  x,
float  a 
)
Any number of seeds may be given and the result will be a random function based on all the seeds<br></div> float<b> float y<br> float<b> cellnoise3</b > ( float  x,
float  y,
float  z 
)
Any number of seeds may be given and the result will be a random function based on all the seeds<br></div> float<b> cellnoise</b > ( vector  v  ) 
Any weights not supplied are assumed to be<br><br></div> float<b> choose</b > ( float  index,
float  choice1,
float  choice2 
)
clamp ( 0.  2,
&nbsp;0.  8 
)
This is the same as the prman cellnoise function<br></div><br> float<b> float y<br> float<b> float float float w<br> color<b> cnoise</b > ( vector  v  ) 
Type Constraints
If a scalar is used in a vector it is replicated into the three components ( e.g.0.5  becomes[0.5, 0.5, 0.5]  ) 
Type Constraints
constrain x to range [lo, hi]<br><br> float<b> compress</b > ( float  x,
float  lo,
float  hi 
)
contrast ( 7  ) 
For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> curve</b > ( float  param,
float  pos0,
color  val0,
int  interp0,
float  pos1,
color  val1,
int  interp1 
)
Type Constraints
<divstyle="margin-left:40px;"> Compress the dynamic range from [0..1] to [lo..hi]<br></div> float<b> expand</b > ( float  x,
float  lo,
float  hi 
)
e g $P [0]</td></tr><tr><td><b></b></td><td> exponentiation ( same as pow  function  ) 
fbm ( vnoise($P)+$P/  4  ) 
hsi ( 20  ,
&nbsp;1.  2,
&nbsp 1,
&nbsp;$Cs &nbsp;-&gt;&nbsp gamma1.2 
)
int<b> and negative results are clamped at zero<br></div> color<b> hsi</b > ( color  x,
float  h,
float  s,
float  i,
float  map = 1 
)
Type Constraints
The result is computed int int<br><divstyle="margin-left:40px;"> Picks values randomly between loRange and hiRange based on supplied index ( which is automatically  hashed  ) 
the contrast is increased<br></div> float<b> invert</b > ( float  x  ) 
The jitter param controls how irregular the pattern is ( jitter  = 0 is like ordinary cellnoise  ) 
<br> HSL is Lightness ( all in  range[0..1]  ) 
Type Constraints
Defined as a* alpha b* alpha<br></div><br> float<b> float float b<br> float<b> linearstep</b > ( float  x,
float  a,
float  b 
)
Type Constraints
<i> cycles through maps through based on object Id</i></li><li> map ( 'map-%d.tx'  ,
pick($objectId, 10, 20)   
)
<i> builds the filename based on the object Id</i></li><li> map ( 'map-%d.tx'  ,
cycle($objectId, 10, 20)   
)
<i> references a file named fenceColor tx</i></li><li> map ( 'map-%d.tx'  ,
objectId 
)
<i> references a file named noise map tx</i><br></li><li> map ( 'fenceColor-%04d.tx'  ,
12   
)
</div><br><h4><aname="Texture_Lookup_Functions"></a> Texture Lookup Functions</h4> vector<b> map</b > ( string  filename  ) 
The shift will be scaled back for values between zero and one<br></div> color<b> midhsi</b > ( color  x,
float  h,
float  s,
float  i,
float  map,
float  falloff = 1,
int  interp = 0 
)
Defined as float g float float float float b2<divstyle="margin-left:40px;"> Linear remapping of [a1..x..b1] to [a2..x..b2]<br></div> float<b> mix</b > ( float  a,
float  b,
float  alpha 
)
Type Constraints
</b></td><td> modulus ( same as fmod  function  ) 
Type Constraints
For applying the gamma function to a map adjusts the gamma of all three color channels< br >< br >< h4 >< aname="Curve_Functions"></a > Curve Functions</h4 >< p > Interpolation of parameter values to a set of control points is governed by the following functions</p >< p > color< b > and interp_i Interpolation codes are float float int float float int< br > Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are monotone ( non-  oscillating  ) 
Type Constraints
This is the same as the prman cellnoise function<br></div><br> float<b> float y<br> float<b> noise</b > ( float  x,
float  y,
float  z 
)
This is the same as the prman cellnoise function<br></div><br> float<b> noise</b > ( vector  v  ) 
For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float int<br> Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are float float float float<br> Interpolates a set of values to the parameter specified where yn are distributed evenly from [0...1]</p><h4><aname="Misc_Functions"></a> Misc Functions</h4><p> void<b> you would get test [4,5,6]</p><h4><aname="Operators"></a> Operators ( listed in decreasing  precedence  ) 
This is Ken Perlin s original noise function<br></div><br> float<b> perlin</b > ( vector  v  ) 
This is the same as the prman cellnoise function<br></div><br> float<b> float y<br> float<b> float float float w<br> color<b> float t color noise<br> float<b> float t signed vector noise<br> float<b> pnoise</b > ( vector  v,
vector  period 
)
Defined as float g pow ( x  ,
1/  g 
)
Defined as pow ( x  ,
log(b)/log(0.5)   
)
<br> pow ( a,
0.  5 
)
For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float int<br> Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are float float float float<br> Interpolates a set of values to the parameter specified where yn are distributed evenly from [0...1]</p><h4><aname="Misc_Functions"></a> Misc Functions</h4><p> void<b> printf</b > ( string  format  ) 
Type Constraints
<br> vector<b> pvoronoi</b > ( vector  v,
float jitter &nbsp = &nbsp;0.5,
float fbmScale &nbsp = &nbsp;0,
int fbmOctaves &nbsp = &nbsp;4,
float fbmLacunarity &nbsp = &nbsp;2,
float fbmGain &nbsp = &nbsp;0.5 
)
gausstep is has a sharper transition near one and a softer transition near zero whereas smoothstep is has a medium softness near both one and zero<br></div><br><h4><aname="Noise_Functions"></a> Noise Functions</h4> float<b> rand</b > (  ) 
Type Constraints
Defined as x<br><br> float<b> remap</b > ( float  x,
float  source,
float  range,
float  falloff,
int  interp 
)
The default falloff and interp values result in no remapping<br></div><br> color<b> rgbtohsl</b > ( color  rgb  ) 
This is the same as the prman cellnoise function<br></div><br> float<b> float y<br> float<b> float float float w<br> color<b> float t color noise<br> float<b> snoise4</b > ( vector  v,
float  t 
)
The<i> gain</i> controls how much each frequency is scaled relative to the previous frequency<br></div><br> float<b> turbulence</b > ( vector  v,
int octaves &nbsp = &nbsp;6,
float lacunarity &nbsp = &nbsp;2,
float gain &nbsp = &nbsp;0.5 
)
For any rgb or hsl value ( except for negative s  values  ) 
This gives a more billowy appearance<br></div><br><br> float<b> voronoi</b > ( vector  v,
int type &nbsp = &nbsp;1,
float jitter &nbsp = &nbsp;0.5,
float fbmScale &nbsp = &nbsp;0,
int fbmOctaves &nbsp = &nbsp;4,
float fbmLacunarity &nbsp = &nbsp;2,
float fbmGain &nbsp = &nbsp;0.5 
)
<br> vector<b> vturbulence</b > ( vector  v,
int octaves &nbsp = &nbsp;6,
float lacunarity &nbsp = &nbsp;2,
float gain &nbsp = &nbsp;0.5 
)
When fbmScale is zero ( the  default  ) 

Variable Documentation

<br> $a = noise($P)

Definition at line 65 of file userdoc.txt.

<br> $b = noise($a * 1)

Definition at line 66 of file userdoc.txt.

<br> $P = $P * 10

Definition at line 73 of file userdoc.txt.

Definition at line 557 of file userdoc.txt.

Definition at line 561 of file userdoc.txt.

Defined as a *alpha b *alpha< br ></div >< br > float< b > float float b< br > float< b > float a
Defined as float g float a1

Definition at line 161 of file userdoc.txt.

Defined as float g float float float a2

Definition at line 161 of file userdoc.txt.

</b></td><td> add

Definition at line 537 of file userdoc.txt.

& amp

Definition at line 544 of file userdoc.txt.

For<b></b><b></b><b></b><b></b> will work just fine with vectors<br><br> Arithmetic operators such as

Definition at line 476 of file userdoc.txt.

the full shift and at

Definition at line 135 of file userdoc.txt.

At

Definition at line 135 of file userdoc.txt.

b
Defined as float g float float b1

Definition at line 161 of file userdoc.txt.

<b></b><br><b></b></td><td> vector constructor<br> vector component access n must be

Definition at line 517 of file userdoc.txt.

For<b></b><b> choose

Definition at line 476 of file userdoc.txt.

<!--*(c)DisneyEnterprises,Inc.Allrightsreserved.**ThisfileislicensedunderthetermsoftheMicrosoftPublicLicense(MS-PL)*asdefinedat:http:**Acompletecopyofthislicenseisincludedinthisdistributionasthefile*LICENSE.--><h3> Shader XGen Paint3d Expressions</h3><ul><li><ahref="#Variables"> Variables</a></li><li><ahref="#Color_Masking_and_Remapping_Functions"> Color

Definition at line 14 of file userdoc.txt.

If a vector is used in a scalar context

Definition at line 469 of file userdoc.txt.

Referenced by SeExprEdBrowser::getExpressionDirs().

For<b></b><b></b><b> cycle

Definition at line 476 of file userdoc.txt.

</b></td><td> divide

Definition at line 533 of file userdoc.txt.

</b></td><td> equality
Initial value:
</b></td>
      <td>comparison (only uses [0] component of vectors) </td>
    </tr>
    <tr>
      <td><b>==&nbsp&nbsp

Definition at line 544 of file userdoc.txt.

For< b ></b >< b ></b >< b ></b >< b ></b > will work just fine with vectors< br >< br > Arithmetic operators such etc

Definition at line 476 of file userdoc.txt.

For example

Definition at line 479 of file userdoc.txt.

</b></td><td> apply The function on the right of the arrow is applied to the expression on the left<br> Examples

Definition at line 565 of file userdoc.txt.

For a multi line expression

Definition at line 584 of file userdoc.txt.

Referenced by SeExprEdHighlighter::highlightBlock().

int<b> gaussian</b >
Initial value:
 2<br>
</div>
<br>
color <b>saturate</b> ( color x, float amt ) <br>
<div style="margin-left: 40px;">Scales saturation of color by amt.
The color is scaled around the rec709 luminance vlue

Definition at line 113 of file userdoc.txt.

& gt = &nbsp

Definition at line 95 of file userdoc.txt.

the full shift happens

Definition at line 135 of file userdoc.txt.

The result is computed int int hiRange

Definition at line 335 of file userdoc.txt.

<br> HSL is Hue

Definition at line 146 of file userdoc.txt.

For instance

Definition at line 72 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int interp0

Definition at line 492 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float int interp1

Definition at line 492 of file userdoc.txt.

Definition at line 182 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels< br >< br >< h4 >< aname="Curve_Functions"></a > Curve Functions</h4 >< p > Interpolation of parameter values to a set of control points is governed by the following functions</p >< p > color< b > and interp_i Interpolation codes are float float int float float int< br > Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are linear

Definition at line 489 of file userdoc.txt.

int<b> linear</b >
Initial value:
 0<br>
&nbsp

Definition at line 111 of file userdoc.txt.

The result is computed int loRange

Definition at line 335 of file userdoc.txt.

$u & lt

Definition at line 156 of file userdoc.txt.

<!--*(c)DisneyEnterprises,Inc.Allrightsreserved.**ThisfileislicensedunderthetermsoftheMicrosoftPublicLicense(MS-PL)*asdefinedat:http:**Acompletecopyofthislicenseisincludedinthisdistributionasthefile*LICENSE.--><h3> Shader XGen Paint3d Expressions</h3><ul><li><ahref="#Variables"> Variables</a></li><li><ahref="#Color_Masking_and_Remapping_Functions"> Masking

Definition at line 14 of file userdoc.txt.

</b></td><td> multiply

Definition at line 533 of file userdoc.txt.

For a multi line each line may have its own comment< br >< br >< h4 >< aname="Custom_Plugins"></a > Custom Plugins</h4 > Custom fuctions may be written in C and loaded as one or more dynamic plugins & nbsp

Definition at line 95 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels< br >< br >< h4 >< aname="Curve_Functions"></a > Curve Functions</h4 >< p > Interpolation of parameter values to a set of control points is governed by the following functions</p >< p > color< b > and interp_i Interpolation codes are float float int float float int< br > Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are none

Definition at line 489 of file userdoc.txt.

<i> picks maps through randomly based on object Id</i><br></li></ul><br><h4><aname="General_Math_Functions"></a> General Math Functions and Constants<br></h4> float<b> PI</b >

Definition at line 390 of file userdoc.txt.

For<b> pick

Definition at line 476 of file userdoc.txt.

At the mid point

Definition at line 135 of file userdoc.txt.

Referenced by CurveScene::mouseMoveEvent(), and CCurveScene::mouseMoveEvent().

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float pos0

Definition at line 492 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float pos1

Definition at line 492 of file userdoc.txt.

Referenced by SeExpr::cvoronoiFn(), SeExpr::pvoronoiFn(), and SeExpr::voronoiFn().

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float int<br> Interpolates a ramp defined by control points at param Control points are specified by triples of parameters pos_i

Definition at line 492 of file userdoc.txt.

<br> HSL is Saturation

Definition at line 146 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels< br >< br >< h4 >< aname="Curve_Functions"></a > Curve Functions</h4 >< p > Interpolation of parameter values to a set of control points is governed by the following functions</p >< p > color< b > and interp_i Interpolation codes are float float int float float int< br > Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are smooth

Definition at line 489 of file userdoc.txt.

int<b> smooth</b >
Initial value:
 1<br>
&nbsp

Definition at line 112 of file userdoc.txt.

When x is within<i> range</i> of source

Definition at line 105 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels< br >< br >< h4 >< aname="Curve_Functions"></a > Curve Functions</h4 >< p > Interpolation of parameter values to a set of control points is governed by the following functions</p >< p > color< b > and interp_i Interpolation codes are float float int float float int< br > Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are spline

Definition at line 476 of file userdoc.txt.

The remaining params are the same as for the fbm function<br> Voronoi types through

Definition at line 305 of file userdoc.txt.

For c from to

Definition at line 95 of file userdoc.txt.

The falloff shape is controlled by<i> interp</i> Numeric values or named constants may be used

Definition at line 110 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float val0

Definition at line 492 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float val1

Definition at line 492 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels< br >< br >< h4 >< aname="Curve_Functions"></a > Curve Functions</h4 >< p > Interpolation of parameter values to a set of control points is governed by the following functions</p >< p > color< b > and interp_i Interpolation codes are float float int float float int< br > Interpolates a ramp defined by control points at param Control points are specified by triples of parameters val_i

Definition at line 489 of file userdoc.txt.

This is the same as the prman cellnoise function<br></div><br> float<b> float y<br> float<b> float y
For applying the gamma function to a map adjusts the gamma of all three color channels< br >< br >< h4 >< aname="Curve_Functions"></a > Curve Functions</h4 >< p > Interpolation of parameter values to a set of control points is governed by the following functions</p >< p > color< b > and interp_i Interpolation codes are float float int float float int< br > Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are float float float float< br > Interpolates a set of values to the parameter specified where y1

Definition at line 497 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float int<br> Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are float float y2

Definition at line 497 of file userdoc.txt.

Referenced by SeExpr::satAdjust().

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float int<br> Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are float float float y3

Definition at line 497 of file userdoc.txt.

For applying the gamma function to a map adjusts the gamma of all three color channels<br><br><h4><aname="Curve_Functions"></a> Curve Functions</h4><p> Interpolation of parameter values to a set of control points is governed by the following functions</p><p> color<b> and interp_i Interpolation codes are float float int float float int<br> Interpolates a ramp defined by control points at param Control points are specified by triples of parameters and interp_i Interpolation codes are float float float float y4

Definition at line 497 of file userdoc.txt.

This is the same as the prman cellnoise function<br></div><br> float<b> float y<br> float<b> float float z

Generated on 25 Jul 2013 for SeExpr by  doxygen 1.6.1