Experimental:GLSL Advanced POP
Summary
Refer to the Write GLSL POPs article for more info on using this POP.
In single shader dispatch mode, runs a single compute shader that can read and write to points, verts, and primitive attributes simultaneously.
In per primitive batch mode, runs the shader once per primitive batch.
The number of threads mode defines how many threads are used.
Parameters - Main Page
Compute Shader
computedat
-
Shader Dispatch Mode
shaderdispatchmode
- ⊞ -
- Single Shader Dispatch
single
-
- Per Primitive Batch
perprimbatch
-
Number of Threads Mode
numthreadsmode
- ⊞ -
- Per Input Point
inputpoint
-
- Per Input Vertex
inputvert
-
- Per Input Primitive
inputprim
-
- Per Max Output Point
outputpoint
-
- Per Max Output Vertex
outputvert
-
- Per Max Output Primitive
outputprim
-
- Manual Number of Elements
numelems
-
- Number of Elements from Attribute
numelemsattrib
-
- Manual Number of Threads
manual
-
Number of Elements
numelems
-
POP
numelemspop
-
Num Elements Attrib
numelemsclass
- ⊞ -
- Point
point
-
- Vertex
vertex
-
- Primitive
primitive
-
Num Elements Attrib
numelemsattr
-
Work Group Size
workgroupsize
- ⊞ -
- Work Group Size
workgroupsizex
-
- Work Group Size
workgroupsizey
-
- Work Group Size
workgroupsizez
-
Dispatch Size
dispatchsize
- ⊞ -
- Dispatch Size
dispatchsizex
-
- Dispatch Size
dispatchsizey
-
- Dispatch Size
dispatchsizez
-
Number of Threads per Batch Mode
numthreadsbatchmode
- ⊞ -
- Per Input Vertex
inputvert
-
- Per Input Primitive
inputprim
-
- Per Output Vertex
outputvert
-
- Per Output Primitive
outputprim
-
Point Output Attributes
ptoutputattrs
- ⊞ -
- *
*
-
Prim Output Attributes
primoutputattrs
- ⊞ -
- *
*
-
Vert Output Attributes
vertoutputattrs
- ⊞ -
- *
*
-
Output Access
outputaccess
- ⊞ -
- Write Only
writeonly
-
- Read-Write
readwrite
-
Initialize Output Attributes
initoutputattrs
-
Input
input
-
In POPs
input0pops
-
TDSimplexNoise()
simplexnoise
- ⊞ - Pick between Performance vs Quality Simplex noise. Performance mode picks the existing TDSimplexNoise(). Quality noise reduces certain artifacts and axis alignment issues with the existing simplex noise at the cost of speed.
- Performance
performance
- Performant noise.
- Quality
quality
- Quality noise.
Parameters - Output Page
Render
render
-
Max Points
maxpointsmode
- ⊞ -
- From Input
frominput
-
- Custom
custom
-
Max Points
maxpoints
-
Max Triangles
maxtrianglesmode
- ⊞ -
- From Input
frominput
-
- Custom
custom
-
Max Triangles
maxtriangles
-
Max Quads
maxquadsmode
- ⊞ -
- From Input
frominput
-
- Custom
custom
-
Max Quads
maxquads
-
Max Line Strips
maxlinestripsmode
- ⊞ -
- From Input
frominput
-
- Custom
custom
-
Max Line Strips
maxlinestrips
-
Max Line Strip Verts
maxlsvertsmode
- ⊞ -
- From Input
frominput
-
- Custom
custom
-
Max Line Strip Verts
maxlsverts
-
Max Lines
maxlinesmode
- ⊞ -
- From Input
frominput
-
- Custom
custom
-
Max Lines
maxlines
-
Max Point Prims
maxpointprimsmode
- ⊞ -
- From Input
frominput
-
- Custom
custom
-
Max Point Prims
maxpointprims
-
Line Strip Info Update
lsinfoupdate
- ⊞ -
- Auto
auto
-
- Zero
zero
-
- Manual
manual
-
Line Strip Info POP
lsinfopop
-
Line Strip Info Attribute
lsinfoclass
- ⊞ -
- Point
point
-
- Vertex
vertex
-
- Primitive
primitive
-
Line Strip Info Attribute
lsinfoattr
-
Line Strip Index per Vert POP
lsindexpop
-
Line Strip Index per Vert Attribute
lsindexclass
- ⊞ -
- Point
point
-
- Vertex
vertex
-
- Primitive
primitive
-
Line Strip Index per Vert Attrib
lsindexattr
-
Max Verts per Line Strip
lsmaxvertsoverride
-
Max Verts per Line Strip
lsmaxverts
-
Initialize Output Primitives
initoutputprims
- ⊞ -
- Don't Initialize
none
-
- Copy input primitives (extra verts 0)
copy
-
- Set vertices to 0
zero
-
Point Count and Topology Info
pointcounttopoinfo
- ⊞ -
- From Input
input
-
- From Attributes
fromattrs
-
- From Parameters
fromparams
-
Point Count
pointcountmode
- ⊞ -
- From Input
input
-
- Zero
zero
-
- Set
set
-
Point Count POP
pointcountpop
-
Point Count Attribute
pointcountclass
- ⊞ -
- Point
point
-
- Vertex
vertex
-
- Primitive
primitive
-
Point Count Attribute
pointcountattr
-
Topology Info POP
topoinfopop
-
Topology Info Attributes Class
topoinfoclass
- ⊞ -
- Point
point
-
- Vertex
vertex
-
- Primitive
primitive
-
Triangle Count
trianglecountmode
- ⊞ -
- From Input
input
-
- Zero
zero
-
- Set
set
-
Triangle Count Attribute
trianglecountattr
-
Quad Count
quadcountmode
- ⊞ -
- From Input
input
-
- Zero
zero
-
- Set
set
-
Quad Count Attribute
quadcountattr
-
Line Strip Count
linestripcountmode
- ⊞ -
- From Input
input
-
- Zero
zero
-
- Set
set
-
Line Strip Count Attribute
linestripcountattr
-
Line Strip Vert Count
lsvertcountmode
- ⊞ -
- From Input
input
-
- Zero
zero
-
- Set
set
-
Line Strip Vert Count Attribute
lsvertcountattr
-
Line Count
linecountmode
- ⊞ -
- From Input
input
-
- Zero
zero
-
- Set
set
-
Line Count Attribute
linecountattr
-
Point Prim Count
pointprimcountmode
- ⊞ -
- From Input
input
-
- Zero
zero
-
- Set
set
-
Point Prim Count Attrib
pointprimcountattr
-
Parameters - Extra Outputs Page
Extra Output
extraout
-
Name
extraout0name
-
POP
extraout0pop
-
Point Output Attributes
extraout0ptattrs
-
Prim Output Attributes
extraout0primattrs
-
Vert Output Attributes
extraout0vertattrs
-
Output Access
extraout0outputaccess
- ⊞ -
- Write Only
writeonly
-
- Read-Write
readwrite
-
Copy Input Attributes
extraout0copyinputattrs
-
Parameters - Create Attribs Page
New Attribute
attr
-
New Attribute Class
attr0class
- ⊞ -
- Point
point
-
- Vertex
vertex
-
- Primitive
primitive
-
New Attribute Name
attr0name
- ⊞ -
- Custom
custom
-
- N
n
-
- Color
color
-
- Tex
tex
-
- PointScale
pointscale
-
- LineWidth
linewidth
-
Custom Name
attr0customname
-
New Attribute Type
attr0type
- ⊞ -
- float
float
-
- double
double
-
- int
int
-
- uint
uint
-
- dir
dir
-
- dbl dir
ddir
-
New Attribute Number of Components
attr0numcomps
- ⊞ -
- 1
1
-
- 2
2
-
- 3
3
-
- 4
4
-
Array
attr0isarray
-
New Attribute Array Size
attr0arraysize
-
Value
attr0value
- ⊞ -
- Value
attr0valuer
-
- Value
attr0valueg
-
- Value
attr0valueb
-
- Value
attr0valuea
-
Matrix Attribute
matattr
-
Matrix Attribute Class
matattr0class
- ⊞ -
- Point
point
-
- Vertex
vertex
-
- Primitive
primitive
-
Custom Matrix Name
matattr0name
-
Rows
matattr0numrows
-
Columns
matattr0numcols
-
Array
matattr0isarray
-
Array Size
matattr0arraysize
-
Qualifier
matattr0qualifier
- ⊞ -
- None
none
-
- Transform Matrix
transformMatrix
-
Parameters - Vectors Page
Vector
vec
-
Name
vec0name
-
Type
vec0type
- ⊞ -
- float
float
-
- vec2
vec2
-
- vec3
vec3
-
- vec4
vec4
-
- double
double
-
- dvec2
dvec2
-
- dvec3
dvec3
-
- dvec4
dvec4
-
- int
int
-
- ivec2
ivec2
-
- ivec3
ivec3
-
- ivec4
ivec4
-
- uint
uint
-
- uvec2
uvec2
-
- uvec3
uvec3
-
- uvec4
uvec4
-
Value
vec0value
- ⊞ -
- Value
vec0valuex
-
- Value
vec0valuey
-
- Value
vec0valuez
-
- Value
vec0valuew
-
Parameters - Samplers Page
Sampler
sampler
-
Name
sampler0name
-
TOP
sampler0top
- ⊞ -
Extend U
sampler0extendu
- ⊞ -
- Hold
hold
-
- Zero
zero
-
- Repeat
repeat
-
- Mirror
mirror
-
Extend V
sampler0extendv
- ⊞ -
- Hold
hold
-
- Zero
zero
-
- Repeat
repeat
-
- Mirror
mirror
-
Extend W
sampler0extendw
- ⊞ -
- Hold
hold
-
- Zero
zero
-
- Repeat
repeat
-
- Mirror
mirror
-
Filter
sampler0filter
- ⊞ -
- Nearest Pixel
nearest
-
- Interpolate Pixels
linear
-
Parameters - Arrays Page
Array
array
-
Name
array0name
-
Type
array0type
- ⊞ -
- float
float
-
- vec2
vec2
-
- vec3
vec3
-
- vec4
vec4
-
CHOP
array0chop
-
Parameters - Matrices Page
Matrix
matrix
-
Name
matrix0name
-
Matrix
matrix0value
-
Parameters - Temp Buffers Page
Temp Buffer
tempbuffer
-
Name
tempbuffer0name
-
Initial Value
tempbuffer0initval
-
Parameters - Constants Page
Constant
const
-
Name
const0name
-
Value
const0value
-
Parameters - Common Page
Bypass
bypass
-
Delete Input Attributes
delinputattrs
-
Operator Inputs
- Input 0: -
- Input 1: -
- Input 2: -
Info CHOP Channels
Extra Information for the GLSL Advanced 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: