POPs Alpha 4 Posted

Welcome to POPs Alpha4! It’s an update from POPs Alpha3 which came out on August 19.

Here is the full package - the installers for Windows and both macOS, and all the examples.

POPs Alpha4 Download (re-uploaded October 25.)

Again, the link to read about POPs - please read! This is continuously updated with new material:

Learning About POPs - Notion – The all-in-one workspace for your notes, tasks, wikis, and databases.

Alpha4 remains non-supported and non-backward compatible, and not recommended for production.

A request: when you post any of your work to Instagram (feel free to do so, and thanks to those who have), tag it with “touchdesigner” - one word. thanks!

Being part of the POPs alpha team, you have agreed to give us timely feedback. If you have not done so, please do, we cannot make it optimal without your help.

Our deep thanks to those who have filled out the feedback form we had mailed you. Your experiences and suggestions are super-valuable.

more in the README.txt in the root folder.

RELEASE NOTES: 31706 - (October 11 2024)

This build improves the Particle POP and other POPs, has numerous bug fixes, and introduces a few new concepts that we want to try out on you. Examples for the new concepts are at the bottom of Examples / Overview.toe.

  • Particle POP - improvements, renamed attributes and new examples in Examples/Particles. Particles take attributes from the inputs.

  • new concept - Built-in Read-Only Attributes: These automatically-generated attributes give read-only information about points, primitives, line strips or vertices. The point index, or the point index normalized between 0-1 are two of the over 20 built-in attributes that save you the work of generating them yourselves. To see the built-in attributes, on the Math POP, for example, on the Input Attribute parameter, on its > menu, roll over the > at the end of its menu. There you will see _PointI which represents the point index, _PointU (the point number normalized to 0-1) and all the others read-onlys.

  • Built-in read-only attributes start with an _. They are local - not passed from one POP to another. Some read-only attributes give vertex and primitive attribute information.

  • POP Dimensions - Some of these built-in variables are for POP’s “dimensions”: Dimensions are metadata for each POP’s point list. A Grid POP can have 2 or 3 dimensions (cols, rows, slices), and no matter what primitives connect from them, the POPs downstream (like Math, Math Mix, and all the Lookup POPs) can use the attributes _DimI[0], _DimI[1] and _DimI[2} as a point’s column, row and slice number. More useful is normalized index _DimU[0], _DimU[1] and _DimU[2} which give the point’s column, row and slice in a 0-1 range.
    ** If you copy the 3D grid onto each point of a circle, it increases the dimension by 1. You can refer to each copy using _DimI[3] and _DImU[3] in this example. POPs pass on their dimension information to other POPs, so its point organization is not lost. See the Learning About POPs page in the Dimension section.

  • POP to DAT has more controls to thin-out the data. You can select every Nth point, select points in a specified range, and randomly thin out points, and any combination of the above. This is good for inspecting point data. You can also transpose the table to see more attribute names.

  • Lookup Curve POP - It lets you define a multi-segment 1D curve on the Curve page, and then use it directly like a lookup table on the Lookup page. The curve is multi-segment so you can define (keyframes) an ease in rise, a constant hold and linear drop. Then using a lookup index attribute in the input, you can generate a new attribute that is output. It doesn’t rely on samples that are being interpolated, as in the Lookup Channel or Lookup Texture POPs. It generate samples from the math equation of the curve, and thus doesn’t have pitfalls like in-between samples generated where curves step. Curve segments can also be bezier curves. The curve can be up to vec4 (4 curves as you would require for an RGBA color ramp).
    Lookup Curve has similarities to the SCurve CHOP and non-timesliced Trigger CHOP.

  • Copy POP improvements - and less un-necessary warnings.

  • new concept - Parameter Values Per-Point - a parameter can have a separate value for each point being processed. It is implemented in the Transform POP only at present. In a parameter’s expression, like Translate X, you can write me.inputs[0].pointAttrib(’Random’). If the attribute Random contains random numbers, each point will be translated in X a random amount. The syntax for this will likely change in upcoming builds, and we will expand it to numerous other POPs like Noise. example in Examples/Overview.toe.

  • new concept - Delete Input Attributes on the Common page of POPs. Starting with the set of Lookup POPs, you can strip off the attributes of the inputs and only output the attributes that are being changed or created in a POP. Some users prefer a workflow that separates the attributes more. (In effect it doesn’t matter as a POP doesn’t allocate any new memory except for attributes that are changed or created.)

  • new Rectangle POP with rounded corners and a mode to face/fill a camera view

  • Select POP has a wired input

  • Skin POP has now a close option

  • Line Break POP - we fixed some issues with corrupted line outputs

  • Improvements to Ray, Grid, FBX, Attribute Convert, Attribute, Sprinkle

  • Attribute POP - crash when no inputs - fixed

  • FBX files with non-normalized weights fixed.

  • in Merge, Attribute and Ray POPs, reserved attributes are now set to good defaults when missing.

  • more fixes from this forum.

  • popViewer - small improvements. giving it 1 point or no prims works properly. in the Palette section for POPs

  • new - POPs have context-sensitive parameters disabled - most POP parameters are now disabled when they are not functional, like in the Attribute POP where there are 4 float values for a 3-vector, the 4th is disabled.

  • Tri-Planar texturing (a 2D texture map projected along all 3 axes and blended based on normal) selectable in the Texture Map POP. You need to then set the Materials’ texture maps’ >> choices of mapping strategy and give it the 3 (TexX TexY TexZ) sets of attributes.

6 Likes

This is fantastic!!

TDAlphaPOPs4 was re-uploaded (in the first post) with some crash fixes, notarized macOS installers of TouchDesigner 2023.31706, and some examples fixed.

1 Like

A build that doesn’t crash on exit was uploaded on Oct 25. Please use this version.

POPs Alpha4 Download (re-uploaded October 25. )