SeExpr
Typedefs | Functions | Variables
userdoc.txt File Reference

Typedefs

using style = "margin-left: 40px
 

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< bremap</b > (float x, float source, float range, float falloff, int interp)< 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< bvturbulence</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< bpvoronoi</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="Selection_Functions">
</a > Selection Functions</h4 >
int< b
cycle</b > (int index, int loRange, int hiRange)< 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

<!--CopyrightDisneyEnterprises,
Inc.Allrightsreserved.LicensedundertheApacheLicense,
Version2.0(the"License");youmaynotusethisfileexceptincompliancewiththeLicenseandthefollowingmodificationtoit:Section6Trademarks.deletedandreplacedwith:6.Trademarks.ThisLicensedoesnotgrantpermissiontousethetradenames,
trademarks, servicemarks,
orproductnamesoftheLicensoranditsaffiliates,
exceptasrequiredforreproducingthecontentoftheNOTICEfile.YoumayobtainacopyoftheLicenseathttp:-->
< h3 > Shader XGen Paint3d
Expressions</h3 >< ul >< li >
< ahref="#Variables">
Variables</a ></li >< li >
< ahref="#Color_Masking_and_Remapping_Functions"> 
Color
 
<!--CopyrightDisneyEnterprises,
Inc.Allrightsreserved.LicensedundertheApacheLicense,
Version2.0(the"License");youmaynotusethisfileexceptincompliancewiththeLicenseandthefollowingmodificationtoit:Section6Trademarks.deletedandreplacedwith:6.Trademarks.ThisLicensedoesnotgrantpermissiontousethetradenames,
trademarks, servicemarks,
orproductnamesoftheLicensoranditsaffiliates,
exceptasrequiredforreproducingthecontentoftheNOTICEfile.YoumayobtainacopyoftheLicenseathttp:-->
< 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< blinear</b >
 
int< bsmooth</b >
 
int< bgaussian</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< bpick
 
For< b ></b >< bchoose
 
For< b ></b >< b ></b >< bcycle
 
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 =&nbsp
 
</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
 

Typedef Documentation

using style = "margin-left: 40px

Definition at line 70 of file userdoc.txt.

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)
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])
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 
)
</div><br><h4><aname="Selection_Functions"></a> Selection Functions</h4> int<b> cycle</b > ( int  index,
int  loRange,
int  hiRange 
)
<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 
)
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])
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 
)
<i> references a file named noise map tx</i><br></li><li> map ( 'fenceColor-%04d.tx'  ,
12   
)
<i> references a file named fenceColor tx</i></li><li> map ( 'map-%d.tx'  ,
  $objectId 
)
<i> builds the filename based on the object Id</i></li><li> map ( 'map-%d.tx'  ,
cycle($objectId, 10, 20)   
)
<i> cycles through maps through based on object Id</i></li><li> map ( 'map-%d.tx'  ,
pick($objectId, 10, 20)   
)
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 
)
</b></td><td> modulus ( same as fmod  function)
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)
This is the same as the prman cellnoise function<br></div><br> float<b> noise</b > ( vector  v)
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 
)
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 
)
<br> pow (   $a,
0.  5 
)
Defined as pow ( x  ,
log(b)/log(0.5)   
)
Defined as float g pow ( x  ,
1/  g 
)
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)
<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 > ( )
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 71 of file userdoc.txt.

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

Definition at line 72 of file userdoc.txt.

<br> $P = $P * 10

Definition at line 79 of file userdoc.txt.

__pad0__

Definition at line 544 of file userdoc.txt.

__pad1__

Definition at line 548 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 162 of file userdoc.txt.

Referenced by SeExpr2::fit().

Defined as float g float float float a2

Definition at line 162 of file userdoc.txt.

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

Definition at line 524 of file userdoc.txt.

& amp

Definition at line 531 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 463 of file userdoc.txt.

At

Definition at line 136 of file userdoc.txt.

the full shift and at

Definition at line 136 of file userdoc.txt.

b
Defined as float g float float b1

Definition at line 162 of file userdoc.txt.

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

Definition at line 504 of file userdoc.txt.

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

Definition at line 463 of file userdoc.txt.

<!--CopyrightDisneyEnterprises,Inc.Allrightsreserved.LicensedundertheApacheLicense,Version2.0(the"License");youmaynotusethisfileexceptincompliancewiththeLicenseandthefollowingmodificationtoit:Section6Trademarks.deletedandreplacedwith:6.Trademarks.ThisLicensedoesnotgrantpermissiontousethetradenames,trademarks,servicemarks,orproductnamesoftheLicensoranditsaffiliates,exceptasrequiredforreproducingthecontentoftheNOTICEfile.YoumayobtainacopyoftheLicenseathttp:--><h3> Shader XGen Paint3d Expressions</h3><ul><li><ahref="#Variables"> Variables</a></li><li><ahref="#Color_Masking_and_Remapping_Functions"> Color

Definition at line 21 of file userdoc.txt.

If a vector is used in a scalar context
For<b></b><b></b><b> cycle

Definition at line 463 of file userdoc.txt.

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

Definition at line 520 of file userdoc.txt.

</b></td><td> equality =&nbsp

Definition at line 531 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 463 of file userdoc.txt.

For example

Definition at line 466 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 552 of file userdoc.txt.

For a multi line expression

Definition at line 571 of file userdoc.txt.

Referenced by ExprHighlighter::highlightBlock().

int<b> gaussian</b >
Initial value:
= 2<br>
</div>
<br>
color <b>hsi</b> ( color x, float h, float s, float i, float map=1 ) <br>
<div style="margin-left: 40px;">The hsi function shifts the hue by h
(in degrees) and scales the saturation and intensity by s and i
respectively.&nbsp
SeExpr2::MapFuncX map
hsi(20,&nbsp;1.2,&nbsp;1,&nbsp;$Cs &nbsp;-&gt;&nbsp;gamma(1.2))</td ></tr ></tbody ></table >< br >< h4 >< a name
Between a and b
Definition: userdoc.txt:180
</pre >< h3 > A simple variable reference</h3 > This is not a very interesting subclass of expression until we add some additional variables Variables on some applications may be very dynamic In this we only need x
Definition: tutorial.txt:108
For c from the contrast is decreased & nbsp
Definition: userdoc.txt:101
"margin-left: 40px style
Definition: userdoc.txt:70

Definition at line 119 of file userdoc.txt.

& gt =&nbsp

Definition at line 101 of file userdoc.txt.

the full shift happens

Definition at line 136 of file userdoc.txt.

The result is computed int int hiRange

Definition at line 322 of file userdoc.txt.

Referenced by SeExpr2::pick().

<br> HSL is Hue

Definition at line 147 of file userdoc.txt.

For instance

Definition at line 78 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 479 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 479 of file userdoc.txt.

Intuitively

Definition at line 183 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 476 of file userdoc.txt.

int<b> linear</b >
Initial value:
= 0<br>
For c from the contrast is decreased & nbsp
Definition: userdoc.txt:101

Definition at line 117 of file userdoc.txt.

The result is computed int loRange

Definition at line 322 of file userdoc.txt.

Referenced by SeExpr2::pick().

$u & lt

Definition at line 157 of file userdoc.txt.

<!--CopyrightDisneyEnterprises,Inc.Allrightsreserved.LicensedundertheApacheLicense,Version2.0(the"License");youmaynotusethisfileexceptincompliancewiththeLicenseandthefollowingmodificationtoit:Section6Trademarks.deletedandreplacedwith:6.Trademarks.ThisLicensedoesnotgrantpermissiontousethetradenames,trademarks,servicemarks,orproductnamesoftheLicensoranditsaffiliates,exceptasrequiredforreproducingthecontentoftheNOTICEfile.YoumayobtainacopyoftheLicenseathttp:--><h3> Shader XGen Paint3d Expressions</h3><ul><li><ahref="#Variables"> Variables</a></li><li><ahref="#Color_Masking_and_Remapping_Functions"> Masking

Definition at line 21 of file userdoc.txt.

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

Definition at line 520 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 101 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 476 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 377 of file userdoc.txt.

For<b> pick

Definition at line 463 of file userdoc.txt.

At the mid point

Definition at line 136 of file userdoc.txt.

Referenced by CCurveScene::mouseMoveEvent(), and CurveScene::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 479 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
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 479 of file userdoc.txt.

<br> HSL is Saturation

Definition at line 147 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 476 of file userdoc.txt.

int<b> smooth</b >
Initial value:
= 1<br>
For c from the contrast is decreased & nbsp
Definition: userdoc.txt:101

Definition at line 118 of file userdoc.txt.

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

Definition at line 111 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 463 of file userdoc.txt.

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

Definition at line 306 of file userdoc.txt.

For c from to

Definition at line 101 of file userdoc.txt.

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

Definition at line 116 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 479 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 479 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 476 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 484 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 484 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 y3

Definition at line 484 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 484 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