Experimental:Noise POP
Summary[edit]
The Noise POP affects every point with a noise field, which can be thought of as smooth, randomly-rising and falling values in 3D space.
By default the Noise POP moves every point's P attribute a distance in X, Y and Z based on the point's position in the noise space. You can visualize the field by sending a Grid POP into a Noise POP. Turn on the toggle parameter Compute Point Normals to see proper shading.
The Type menu lets you choose between Simplex, Perlin in 2-4 dimensions. Simplex has the least grid-like field appearance. The Period determines the approximate distance between two peaks in each dimension (if you set Harmonics to 0).
Harmonics adds more detail by adding to the field another half-period noise field, and recursively for the number of "harmonics". Harmonic Spread is the ratio of period of one applied harmonic to the next. Furthermore the entire noise field can be translated, rotated or scaled via the Transform page.
The noise field value averages 0 in X, Y and Z. The Amplitude and Exponent parameters affect the magnitude of the resulting value, and the Offset is added to the resulting noise values.
Output attributes - On the Output page, you can output and name the raw noise values to an attribute named Noise by default. Because the Noise Size menu parameter on the Noise page defaults to Scalar, the Noise attribute is a single scalar float.
If the Noise Size menu parameter is set to Vector, the Noise attribute is a 3-component float, or 4 if the Parameter Size is set to 4.
On the Output page you can also output several math functions that are derived from the noise field, like Gradient and Curl.
The Gradient is the rate-of-change of a scalar noise around each point in X Y and Z (aka the "first order derivative") and is a float3 named NoiseGradient
Curl is an expression of how much the slope twists around each point. A 3D Curl is a float3 named NoiseCurl. A 2D Curl is float2 named NoiseCurl2
If Combine Operation is Add (default) or Multiply, a float3 noise is always applied to P, even though the noise may be set to scalar. With Combine Attribute Scope, the noise can be applied to any scalar or vector attribute (one component to 4 components), and output to any new or existing attribute.
With Combine Entity you can instead combine the NoiseCurl with any attribute.
With Noise Size set to Vector, changing the Parameters Size to 2, 3 or 4 gives you individual parameter controls of Amplitude, Exponent and Offset per X Y Z W dimension.
To animate the noise, put something like absTime.seconds in any of the Translate or Translate 4D parameters on the Transform page.
Per-point mapping of parameters - The Noise POP has a Map page, which allows every point to get a different value for Amplitude, Offset, Exponent, Period, Harmonic Spread and Harmonic Gain parameters. In this mechanism, a separate attribute in the input contains values that override (or add to / multiply by) the parameter value.
Parameters - Noise Page
noiselookupattrib -
type - ⊞ -
- Perlin 2D (GPU)
perlin2d-
- Perlin 3D (GPU)
perlin3d-
- Perlin 4D (GPU)
perlin4d-
- Simplex 2D (GPU)
simplex2d-
- Simplex 3D (GPU)
simplex3d-
- Simplex 4D (GPU)
simplex4d-
singlenoisecomp -
seed -
period -
harmon -
spread -
gain -
parsize - ⊞ -
- 1
1-
- 2
2-
- 3
3-
- 4
4-
amp -
exp -
offset -
attrclass - ⊞ -
- Point
point-
- Vertex
vertex-
- Primitive
primitive-
group -
Parameters - Transform Page
xord - ⊞ -
- Scale Rotate Translate
srt-
- Scale Translate Rotate
str-
- Rotate Scale Translate
rst-
- Rotate Translate Scale
rts-
- Translate Scale Rotate
tsr-
- Translate Rotate Scale
trs-
rord - ⊞ -
- Rx Ry Rz
xyz-
- Rx Rz Ry
xzy-
- Ry Rx Rz
yxz-
- Ry Rz Rx
yzx-
- Rz Rx Ry
zxy-
- Rz Ry Rx
zyx-
t - ⊞ -
- Translate
tx-
- Translate
ty-
- Translate
tz-
r - ⊞ -
- Rotate
rx-
- Rotate
ry-
- Rotate
rz-
s - ⊞ -
- Scale
sx-
- Scale
sy-
- Scale
sz-
p - ⊞ -
- Pivot
px-
- Pivot
py-
- Pivot
pz-
t4d -
Parameters - Output Page
simulationnoise - ⊞ -
- None
none-
- Curl 2D
curl2d-
- Curl 3D
curl3d-
combineop - ⊞ -
- Set
set-
- Add
add-
- Multiply
mult-
- Translate along Normal
translatealongnormal-
combineattrscope -
outputattrscope - ⊞ -
- P
P-
- N
N-
- Color
Color-
- Color.i012
Color.i012-
- Tex
Tex-
- PointScale
PointScale-
- LineWidth
LineWidth-
overrideautoattr -
newattrtype - ⊞ -
- float
float-
- double
double-
- int
int-
- uint
uint-
- dir
dir-
- dbl dir
ddir-
attrnumcomps - ⊞ -
- 1
1-
- 2
2-
- 3
3-
- 4
4-
newattrdefaultval - ⊞ -
- New Attribute Default Value
newattrdefaultval1-
- New Attribute Default Value
newattrdefaultval2-
- New Attribute Default Value
newattrdefaultval3-
- New Attribute Default Value
newattrdefaultval4-
derivative -
derivoutputattscope - ⊞ -
- P
P-
- N
N-
- Color
Color-
- Color.i012
Color.i012-
- Tex
Tex-
- PointScale
PointScale-
- LineWidth
LineWidth-
derivoverrideautoattr -
derivnewattrtype - ⊞ -
- float
float-
- double
double-
- int
int-
- uint
uint-
- dir
dir-
- dbl dir
ddir-
derivattribnumcomps - ⊞ -
- 1
1-
- 2
2-
- 3
3-
- 4
4-
derivnewattribdefaultval - ⊞ -
- New Attribute Default Value
derivnewattribdefaultval1-
- New Attribute Default Value
derivnewattribdefaultval2-
- New Attribute Default Value
derivnewattribdefaultval3-
- New Attribute Default Value
derivnewattribdefaultval4-
computenormals -
mode - ⊞ - Pick between Performance vs Quality noise. Performance noise is the existing TD noise. Quality noise reduces certain artifacts and axis alignment issues with the existing noise at the cost of speed. Currently only enabled for Simplex Noise type.
- Performance
performance- Performant noise.
- Quality
quality- Quality noise.
Parameters - Map Page
map -
map0op -
map0element -
map0parm - ⊞ -
- period (Period)
period-
- offset (Offset)
offset-
- amp (Amplitude)
amp-
- exp (Exponent)
exp-
- spread (Harmonic Spread)
spread-
- gain (Harmonic Gain)
gain-
map0combineop - ⊞ -
- Set
set-
- Multiply
mult-
- Add
add-
Parameters - Common Page
bypass -
delinputattrs -
parmcolorspace - ⊞ - Controls how all color parameters on this node are interpreted. The color values as treated as being in the selected color space, and are converted to the Working Color Space before they are used as part of the node's operation. Note that this does not change the color space of the node itself, as that is always in the Working Color Space.
- sRGB
srgb- sRGB color space, with sRGB transfer function. Considered an SDR color space with respect to Reference White.
- sRGB - Linear
srgblinear- sRGB color space, with linear transfer function. Considered an SDR color space with respect to Reference White.
- Rec.601 (NTSC)
rec601ntsc- Rec.601 with NTSC primaries color space, with Rec.601 transfer function. Considered an SDR color space with respect to Reference White.
- Rec.709
rec709- Rec.709 color space, with Rec.709 (same as Rec.2020) transfer function. Considered an SDR color space with respect to Reference White.
- Rec.2020
rec2020- Rec.2020 color space, with Rec.2020 (same as Rec.709) transfer function. Considered an HDR color space with respect to Reference White.
- DCI-P3
dcip3- DCI-P3 color space, with D65 white point and 2.6 gamma transfer function. Considered an HDR color space with respect to Reference White.
- DCI-P3 (D60)
dcip3d60- DCI-P3 "D60 sim" color space, with D60 white point, and 2.6 gamma transfer function. Considered an HDR color space with respect to Reference White.
- Display-P3 (D65)
displayp3d65- Display-P3 color space, with D65 white point, and sRGB gamma transfer function. Considered an HDR color space with respect to Reference White.
- ACES2065-1
aces2065-1- ACES 2065-1 (also known as ACES AP0) color space, with a linear gamma transfer function. Considered an HDR color space with respect to Reference White.
- ACEScg
acescg- ACEScg (also known as ACES AP1) color space, with a linear gamma transfer function. Considered an HDR color space with respect to Reference White.
- Passthrough
passthrough- When selected, the color values will be used as-is in the operation, without any modification or attempt to convert them into the Working Color Space.
parmreferencewhite - ⊞ - When converting a parameter color value to the Working Color Space, this controls how it should be treated with respect to Reference White. If the Working Color Space is the same Reference White, then no adjustment is done. If they are different, then the Reference White level (brightness) of this color will be adjusted to the range expected by the Working Color Space. For example if the project is set to have a SDR Reference White of 120 nits, and the HDR Reference White is 80 nits, then a color of (1, 1, 1), which is 120 nits in the SDR color space, will be converted to be (1.5, 1.5, 1.5), which is 120 nits still in the HDR Working Color Space.
- Default For Color Space
default- Will use either the SDR or the HDR Reference White, based on the color space selected.
- Standard (SDR)
sdr- Will treat the Parameter Color Space as SDR for it's reference white value.
- High (HDR)
hdr- Will treat the Parameter Color Space as HDR for it's reference white value.
Operator Inputs
- Input 0: -
Info CHOP Channels
Extra Information for the Noise POP can be accessed via an Info CHOP.
Common POP Info Channels
Common Operator Info Channels
- total_cooks - Number of times the operator has cooked since the process started.
- cook_time - Duration of the last cook in milliseconds.
- cook_frame - Frame number when this operator was last cooked relative to the component timeline.
- cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
- cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
- cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
- cooked_this_frame - 1 if operator was cooked this frame.
- warnings - Number of warnings in this operator if any.
- errors - Number of errors in this operator if any.
TouchDesigner Build:
| POPs |
|---|
| • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • • |