<ShaderBufferBindNode>

This node binds a shader buffer to the GPU.

Registration

Class registration and implementation information is as follows:

Category Documentation
ImplementationC++
ModulePlugin-Domain-Shader-Buffer
Class HierarchyNode » Group » ShaderBufferBindNode
Data Interface NameShaderBufferBindNode
Type StatusActive
Is Final TypeYes

<ShaderBufferBindNode> Properties

Properties are as follows:

Property Documentation
Shader Buffer Slot IndexAn integer representing the buffer binding slot. For example, use -1 to use whatever value OpenGL has for this value. Use 0 or 1 or 2 if you know that your buffer is bound implicitly or explicitly to one of these indices. Note that you should only use this if you cannot explicitly set the binding point in GLSL.
Extra Buffer BytesAppends this many bytes to the buffer allocation. For example: if the last item in a shader buffer is an array without a declared size, you can specify the number of bytes available for the unsized element. If the last item in the buffer is declared as float[], then you can specify 16 here to indicate that the float[] is really float[4]. This is useful for dynamic memory allocations on the GPU. In most cases, this is set by the application or automatically synchronized with the actual size of the buffer, but it can be set manually in certain use cases.
Buffer Alignment Padding: Padding Alignment NoneSpecifies that no padding will be calculated when computing buffer space requirements.
Buffer Alignment Padding: Padding Alignment 4-bytesSpecifies that buffer size will computed with a 4-byte alignment requirement. For example: an allocation of 3 bytes will be padded with 1 byte, resulting in a 4-byte allocation.
Buffer Alignment Padding: Padding Alignment 8-bytesSpecifies that buffer size will computed with an 8-byte alignment requirement.
Buffer Alignment Padding: Padding Alignment 16-bytesSpecifies that buffer size will computed with a 16-byte alignment requirement.
Buffer Alignment Padding: Padding Alignment 32-bytesSpecifies that buffer size will computed with a 32-byte alignment requirement.
Buffer Alignment Padding: Padding Alignment 64-bytesSpecifies that buffer size will computed with a 64-byte alignment requirement.
Buffer Alignment Padding: Padding Alignment 128-bytesSpecifies that buffer size will computed with a 128-byte alignment requirement.
Buffer Alignment Padding: Padding Alignment 256-bytesSpecifies that buffer size will computed with a 256-byte alignment requirement.
Padding Size In Bytes - Not EditableShows the computed padding size.
Buffer UsageA list of buffer usage flags. Please see OpenGL glBufferData documentation for more information.
Bind Mode: Bind For WriteBinds the buffer for writing. Note that this mode binds the buffer. The fact that it is being bound for write operations only affects the Simdify application and user tools.
Bind Mode: Bind For ReadBinds the buffer for reading. The fact that it is being bound for read operations only affects the Simdify application and user tools.
Bind Mode: UnbindUnbinds the buffer.
ShaderBufferNode Data SourceA link to a <ShaderBufferNode> in this document.

<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 Simdify 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 Simdify 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 orthe 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.
Import DisabledDetermines whether or not the node is imported during an import process such as when nodes are imported from a template during document creation. Note that this flag is mostly in Simdify Scripting language.
Export DisabledDetermines whether or not the node is exported during an export process, or possibly other purposes. This flag is set to No and current Simdify exporters ignore it (but it can be very useful if you need to modify the exporters).
GuidEnumerates the Node's GUID.