jit.gl.tf Reference

Manage transform feedback on geometric meshes

jit.gl.tf

Description

The jit.gl.tf object binds to a jit.gl.mesh object, takes input from jit.gl.buffer objects, and uses a shader program defined in a jit.gl.shader object to apply a transform feedback effect on the mesh geometry.

Discussion

Transform feedback allows for computations on geometric data buffers to take place entirely on the GPU without the need to readback to the CPU, and are commonly used to create GPU particle systems. The buffer data is read in by the transform feedback shader, operated on, and the results are passed on to the jit.gl.mesh for rendering. These results are then fed back to the tranform feedback object as input for the next frame, thereby maintaining state between subsequent frames.

Arguments

numbuffers [int]

The number of inlets to create. Each inlet can bind to a jit.gl.buffer. The maximum is 8, although the actual maximum number of feedback buffers is hardware dependent, usually 4.

Attributes

bufnames [8 symbols]

Currently read only. Displays the list of buffers bound to the jit.gl.tf object. Order of buffers reflects bound inlets from left to right.

enable [int]

Enables transform feedback when set to 1. When disabled, the bound input buffer is passed in its intial state.

It is recommended to disable this before modifying input buffers and reenable it after making changes. Changing input buffer state while enabled may result in unexpected behavior.

initcount [int]

The initial number of primitives that will be passed to the transform feedback stage. Useful for particle simulations when used in conjunction with geometry shaders to create emitters. If set to 0, the entire buffer is passed on enable.

name [symbol]

g/s(get)

The read only name of the jit.gl.tf object. This name is used internally to handle the feedback bindings.

numbuffers [int]

g/s(get)

Set as an argument after the jit.gl.tf object name, reports the number of buffer inlets.

shader [symbol]

The name of the jit.gl.shader object for the jit.gl.tf object to bind to.

texture [32 symbols]

The name of the texture or textures bound to the transform feedback shader process (default = none).

Common Box Attributes

Messages

jit_gl_buffer

Binds the named jit.gl.buffer object to the inlet. Note that the incoming buffer must have the outname attribute set in order to reference it in the corresponding jit.gl.shader. The jit.gl.buffer object outlet is pre-formatted with this message prefix, so connecting them automatically binds the incoming buffer.

See Also

Name Description
GL3 Package Topics GL3 Package Topics
jit.gl.buffer
jit.gl.mesh
jit.gl.shader