Docs 3D and Particles

ExpressionPOP

Per-point attribute expressions for POPs: write lines like P = P + N * 0.1 and they compile to a GLSL compute shader, with local variables carried between lines. An alternative for the Math Combine POP.

⁂ 3D and Particles OP Create menu entry

Where it appears

Read off the registry hosts in the component, so this is where the tool puts itself in a default install; every one of these can be reordered or hidden from Hub.

What it is

ExpressionPOP lets you write point math the way you would say it. Each line is one expression, such as P = P + N * 0.1 or Color = vec4(P, 1), and any point attribute of the input can be read by its name. The lines compile into a GLSL compute shader that runs on the GPU, so the math stays fast however many points come in.

A line assigns either to an output attribute or to a local variable. Locals need a GLSL type, like vec3 offset = N * 0.2, and every later line can use them, so a long calculation can be broken into readable steps.

It is the alternative for the Math Combine POP: create a Math Combine POP with the alternatives shortcut held and ExpressionPOP is offered in its place, wired into the same spot. It is also a member of the FNS operator family: pick it from the FNS tab of the OP Create dialog and it lands as one node.

Inputs and outputs

  • in1 (POP): the points to process.
  • out_pop (POP): the points with the expressions applied.
  • out_code (DAT): the generated shader code.
  • out_info (DAT): the compile result.

Parameters

Custom

ControlType / defaultWhat it does
ExprExpr sequence0 One block per expression line, run in order on every point.
Attribute ExpressionExpr0expression textempty One line such as P = P + N * 0.1. The left side is an output attribute (or a local when OutAttr/Local is on); input attributes are read by name on the right.
OutAttr/LocalExpr0leftmode on / offoff local needs type declaration like vec3 etc, but then are reusable in consequent blocks
InfoInforead-only textempty Read-only: the compile result of the generated shader, so an error shows here.
Out AttrsOutattrsread-only textempty Read-only: the attributes the shader writes, collected from the left side of every line.
ViewView menuPOP What the node's viewer shows: the output points, the generated GLSL code, or the compile info.
Options: POP, Code, Info

Edit this page on GitHub →