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'.
Class registration and implementation information is as follows:
Category | Documentation |
---|---|
Implementation | C++ |
Module | Plugin-Domain-Compute |
Class Hierarchy | Node » Group » ProgramExecute |
Data Interface Name | ProgramExecute |
Type Status | Active |
Is Final Type | Yes |
Properties are as follows:
Property | Documentation |
---|---|
Pipeline Mode | The pipeline mode of the source <Program> node. This value is enumerated and cannot be set. |
Max Work Group Count X | Enumerates 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 Y | Enumerates 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 Z | Enumerates 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 X | Sets 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 Y | Sets 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 Z | Sets 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 X | Enumerates 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 Y | Enumerates 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 Z | Enumerates 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 X | Sets 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 Y | Sets 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 Z | Sets 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 Index | Sets the primitive start index. This option is only available when the source <Program> object's pipeline mode flag is set to Task/Mesh. |
Count | Specifics 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 Program | A link to the <Program> node containing the compute shader code to execute. |
On Render Data Source | A link to a <UniformPaletteNode> that contains <VariableNode> objects that specify uniform values required by the compute shader. |
Image Palette | A link to a <TexturePaletteNode> or <SamplerPaletteNode> that contains <Texture> nodes or <SamplerNode> objects that specify textures required by the compute shader. |
Properties are as follows:
Property | Documentation |
---|---|
Visible | Toggles the <Group>'s visible/invisible". Child nodes are not visible when their parent <Group>'s is invisible. |
Collisions | Toggles collision detection on the <Group> node and its children". This is used for runtime export and has no effect in Scenome applications. |
Cull | Toggles view volume culling on/off". modifying this parameter may cause incorrect culling and other unexpected consequences. |
Preserve Camera | This option is undocumented at present. |
Generic Data Source | This option provides the capability to connect a <Group>'s to a node that serves as a generic data source. |
Bounding Box Frozen | Freezes the bounding box at its current size. This is often used as a runtime flag, and modifying this parameter may cause incorrect culling. |
Minimum X | Displays the minimum bounding box coordinate on the X axis. |
Minimum Y | Displays the minimum bounding box coordinate on the Y axis. |
Minimum Z | Displays the minimum bounding box coordinate on the Z axis. |
Maximum X | Displays the maximum bounding box coordinate on the X axis. |
Maximum Y | Displays the maximum bounding box coordinate on the Y axis. |
Maximum Z | Displays the maximum bounding box coordinate on the Z axis. |
Transform Locked | Locks the node and prevents transformation of the node and its children. This is a runtime flag and has no effect in Scenome applications. |
Position X | Displays the node's position on the X axis. |
Position Y | Displays the node's position on the Y axis. |
Position Z | Displays the node's position on the Z axis. |
Orientation X | Displays the node's orientation on the X axis. |
Orientation Y | Displays the node's orientation on the Y axis. |
Orientation Z | Displays the node's orientation on the Z axis. |
Scale X | Displays the node's scale on the X axis. |
Scale Y | Displays the node's scale on the Y axis. |
Scale Z | Displays the node's scale on the Z axis. |
Billboard | Sets 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. |
Properties are as follows:
Property | Documentation |
---|---|
Name | Sets 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. |
Class | Sets the class of the node. |
ID | Sets the ID of the node. This must be unique for each document, but different documents can use the same ID. |
Export Disabled | Determines whether or not the node is exported during an export process, or possibly other purposes. |
Guid | Enumerates the Node's GUID. |