<ProgramExecute>

This node causes a <Program> to be executed. Typically a <Program> is executed when a <Mesh> is rendered, and the <Mesh>'s <Material> nodes are connected to <Program> nodes, which are also rendered. With compute shaders, there typically won't be a mesh to start the rendering chain reaction, so this node is used instead. This node also specifies workgroup sizes such as in the declaration 'layout(local_size_x = 32, local_size_y = 32, local_size_z = 1) in'.

Registration

Class registration and implementation information is as follows:

Category Documentation
ImplementationC++
ModulePlugin-Domain-Compute
Class HierarchyNode » Group » ProgramExecute
Data Interface NameProgramExecute
Type StatusActive
Is Final TypeYes

<ProgramExecute> Properties

Properties are as follows:

Property Documentation
Pipeline ModeThe pipeline mode of the source <Program> node. This value is enumerated and cannot be set.
Max Work Group Count XEnumerates the maximum workgroups on the x-axis. This value is acquired from the OpenGL implementation. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Max Work Group Count YEnumerates the maximum workgroups on the y-axis. This value is acquired from the OpenGL implementation. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Max Work Group Count ZEnumerates the maximum workgroups on the z-axis. This value is acquired from the OpenGL implementation. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Work Group Count XSets the workgroup count on the x-axis. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Work Group Count YSets the workgroup count on the y-axis. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Work Group Count ZSets the workgroup count on the z-axis. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Max Local Group Count XEnumerates the maximum workgroups on the x-axis. This value is acquired from the OpenGL implementation. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Max Local Group Count YEnumerates the maximum workgroups on the y-axis. This value is acquired from the OpenGL implementation. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Max Local Group Count ZEnumerates the maximum workgroups on the z-axis. This value is acquired from the OpenGL implementation. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Local Group Count XSets the workgroup count on the x-axis. This option is only works if the extension GL_ARB_compute_variable_group_size is installed and has been enabled in the compute shader code. Otherwise you must specify this value by declaring 'layout( local_size_x = X, local_size_y = Y, local_size_z = Z ) in' in your compute shader code. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Local Group Count YSets the workgroup count on the y-axis. This option is only works if the extension GL_ARB_compute_variable_group_size is installed and has been enabled in the compute shader code. Otherwise you must specify this value by declaring 'layout( local_size_x = X, local_size_y = Y, local_size_z = Z ) in' in your compute shader code. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Local Group Count ZSets the workgroup count on the z-axis. This option is only works if the extension GL_ARB_compute_variable_group_size is installed and has been enabled in the compute shader code. Otherwise you must specify this value by declaring 'layout( local_size_x = X, local_size_y = Y, local_size_z = Z ) in' in your compute shader code. This option is only available when the source <Program> object's pipeline mode flag is set to Compute.
Start IndexSets the primitive start index. This option is only available when the source <Program> object's pipeline mode flag is set to Task/Mesh.
CountSpecifics the number of primitives to draw. This option is only available when the source <Program> object's pipeline mode flag is set to Task/Mesh.
Source ProgramA link to the <Program> node containing the compute shader code to execute.
On Render Data SourceA link to a <UniformPaletteNode> that contains <VariableNode> objects that specify uniform values required by the compute shader.
Image PaletteA link to a <TexturePaletteNode> or <SamplerPaletteNode> that contains <Texture> nodes or <SamplerNode> objects that specify textures required by the compute shader.

<Group> Properties

Properties are as follows:

Property Documentation
VisibleToggles the <Group>'s visible/invisible". Child nodes are not visible when their parent <Group>'s is invisible.
CollisionsToggles collision detection on the <Group> node and its children". This is used for runtime export and has no effect in Scenome applications.
CullToggles view volume culling on/off". modifying this parameter may cause incorrect culling and other unexpected consequences.
Preserve CameraThis option is undocumented at present.
Generic Data SourceThis option provides the capability to connect a <Group>'s to a node that serves as a generic data source.
Bounding Box FrozenFreezes the bounding box at its current size. This is often used as a runtime flag, and modifying this parameter may cause incorrect culling.
Minimum XDisplays the minimum bounding box coordinate on the X axis.
Minimum YDisplays the minimum bounding box coordinate on the Y axis.
Minimum ZDisplays the minimum bounding box coordinate on the Z axis.
Maximum XDisplays the maximum bounding box coordinate on the X axis.
Maximum YDisplays the maximum bounding box coordinate on the Y axis.
Maximum ZDisplays the maximum bounding box coordinate on the Z axis.
Transform LockedLocks the node and prevents transformation of the node and its children. This is a runtime flag and has no effect in Scenome applications.
Position XDisplays the node's position on the X axis.
Position YDisplays the node's position on the Y axis.
Position ZDisplays the node's position on the Z axis.
Orientation XDisplays the node's orientation on the X axis.
Orientation YDisplays the node's orientation on the Y axis.
Orientation ZDisplays the node's orientation on the Z axis.
Scale XDisplays the node's scale on the X axis.
Scale YDisplays the node's scale on the Y axis.
Scale ZDisplays the node's scale on the Z axis.
BillboardSets the node as a billboard. Billboards rotate to face the camera. This feature has been preserved for compatibility purposes, but this functionality should be implemented with geometry shaders.

<Node> Properties

Properties are as follows:

Property Documentation
NameSets the name of the node. Do not use / or \ [forward slash and backslash] in the node name as this produces conflicts with resolving link nodes that reference external files.
ClassSets the class of the node.
IDSets the ID of the node. This must be unique for each document, but different documents can use the same ID.
Export DisabledDetermines whether or not the node is exported during an export process, or possibly other purposes.
GuidEnumerates the Node's GUID.