Experimental:Primitive POP
Summary
The Primitive POP lets you manually create primitives. Primitives are made from points, so it takes an optional input POP, from which you can delete its primitives and create new ones. Then you can add a set of new points manually using blocks of sequential parameters on the Points page.
Next on the Primitives page you create new triangles, quads, lines, line strips and point primitives. When Method is By Set, and Primitive Type is Triangles, every 3 points creates a triangle. When Method is By Pattern, the points are selected by Pattern Matching, for example selecting Line Strip and pattern [0-9]
creates a 10-point line strip.
On the Setup page the points can be given any new built-in or custom attributes.
On the Setup page you can remove the original primitives from the input POP by turning on turn on Delete Primitives + Keep Points.
On the Post page you can remove unused points in the result or turn them into point primitives.
When you create new primitives from the consolidated set of points, using sequential blocks you can create any combination of primitive types, and each primitive's vertices can be manually-specified or generated using numeric patterns.
See also Point POP which is basically the Points page of the Primitive POP.
You can re-connect a set of existing points by connecting a POP to the input, turning on Delete Primitives and Keep Points, adding no new points, then creating new primitives on the Primitive page.
To create a Point primitive per point, on the Primitive page, change Type to Point.
Parameters - Setup Page
keep
-
addpts
-
premultcolor
-
attr
-
attr0name
- ⊞ -
- Custom
custom
-
- N
n
-
- Color
color
-
- Tex
tex
-
- PointScale
pointscale
-
- LineWidth
linewidth
-
attr0customname
-
attr0type
- ⊞ -
- float
float
-
- double
double
-
- int
int
-
- uint
uint
-
- dir
dir
-
- dbl dir
ddir
-
attr0numcomps
- ⊞ -
- 1
1
-
- 2
2
-
- 3
3
-
- 4
4
-
attr0value
- ⊞ -
- Default Value
attr0valuer
-
- Default Value
attr0valueg
-
- Default Value
attr0valueb
-
- Default Value
attr0valuea
-
Parameters - Points Page
keep
-
pt
-
pt0pos
- ⊞ -
- Position
pt0posx
-
- Position
pt0posy
-
- Position
pt0posz
-
Parameters - Primitives Page
method
- ⊞ -
- None
none
-
- By Set
set
-
- By Pattern
pattern
-
setprimtype
- ⊞ -
- None
none
-
- Points
points
-
- Lines
lines
-
- Triangles
triangles
-
- Quads
quads
-
- Line Strip
linestrip
-
- Closed Line Strip
closedlinestrip
-
set
- ⊞ -
- All Points
all
-
- Groups of N Points
group
-
- Skip Every Nth Point
skip
-
n
-
prim
-
prim0type
- ⊞ -
- None
none
-
- Points
points
-
- Lines
lines
-
- Triangles
triangles
-
- Quads
quads
-
- Line Strip
linestrip
-
- Closed Line Strip
closedlinestrip
-
prim0pattern
-
Parameters - Post Page
unusedpointsop
- ⊞ -
- Do Nothing
donothing
-
- Remove
remove
-
- Turn into Point Prims
pointprims
-
cpureadback
-
Parameters - Common Page
bypass
-
delinputattrs
-
Operator Inputs
- Input 0: -
Info CHOP Channels
Extra Information for the Create 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: