This node binds a shader buffer to the GPU.
Class registration and implementation information is as follows:
| Category | Documentation |
|---|---|
| Implementation | C++ |
| Module | Plugin-Domain-Shader-Buffer |
| Class Hierarchy | Node » Group » ShaderBufferBindNode |
| Data Interface Name | ShaderBufferBindNode |
| Type Status | Active |
| Is Final Type | Yes |
Properties are as follows:
| Property | Documentation |
|---|---|
| Shader Buffer Slot Index | An 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 Bytes | Appends 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 None | Specifies that no padding will be calculated when computing buffer space requirements. |
| Buffer Alignment Padding: Padding Alignment 4-bytes | Specifies 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-bytes | Specifies that buffer size will computed with an 8-byte alignment requirement. |
| Buffer Alignment Padding: Padding Alignment 16-bytes | Specifies that buffer size will computed with a 16-byte alignment requirement. |
| Buffer Alignment Padding: Padding Alignment 32-bytes | Specifies that buffer size will computed with a 32-byte alignment requirement. |
| Buffer Alignment Padding: Padding Alignment 64-bytes | Specifies that buffer size will computed with a 64-byte alignment requirement. |
| Buffer Alignment Padding: Padding Alignment 128-bytes | Specifies that buffer size will computed with a 128-byte alignment requirement. |
| Buffer Alignment Padding: Padding Alignment 256-bytes | Specifies that buffer size will computed with a 256-byte alignment requirement. |
| Padding Size In Bytes - Not Editable | Shows the computed padding size. |
| Buffer Usage | A list of buffer usage flags. Please see OpenGL glBufferData documentation for more information. |
| Bind Mode: Bind For Write | Binds 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 Read | Binds the buffer for reading. The fact that it is being bound for read operations only affects the Simdify application and user tools. |
| Bind Mode: Unbind | Unbinds the buffer. |
| ShaderBufferNode Data Source | A link to a <ShaderBufferNode> in this document. |
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 Simdify 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 Simdify 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 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. |
| 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. |
| Import Disabled | Determines 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 Disabled | Determines 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). |
| Guid | Enumerates the Node's GUID. |