Shader parameter node storing a buffer object. More...
#include <Inventor/nodes/SoShaderParameterBufferObject.h>
Public Types | |
enum | BufferType { SHADER_STORAGE_BUFFER = SbEnums::SHADER_STORAGE_BUFFER, UNIFORM_BUFFER = SbEnums::UNIFORM_BUFFER } |
Public Member Functions | |
virtual SoType | getTypeId () const |
SoShaderParameterBufferObject () | |
Static Public Member Functions | |
static SoType | getClassTypeId () |
Public Attributes | |
SoSFBufferObject | buffer |
SoSFEnum | bufferType |
This node allows the application to provide a buffer object to a shader program. The shader program can access this buffer as a GLSL Shader Storage Buffer Object.
SoShaderParameterBufferObject nodes are usually added to the shader program's bufferObjects field to affect only that specific shader program, but can also be inserted in the scene graph and affect all subsequent shader programs.
NOTE: If inserted directly in the scene graph, SoShaderParameterBufferObject is not cacheable. This means that all parent SoSeparator nodes will not be able to create render caches. This may reduce rendering performance.
bindingPoint | 0 |
buffer | NULL |
bufferType | SHADER_STORAGE_BUFFER |
SoShaderParameter, SoUniformShaderParameter. SoShaderObject, SoShaderProgram.
NOTE: node available since Open Inventor 9.8SoShaderParameterBufferObject::SoShaderParameterBufferObject | ( | ) |
static SoType SoShaderParameterBufferObject::getClassTypeId | ( | ) | [static] |
Returns the type identifier for this class.
Reimplemented from SoShaderParameter.
virtual SoType SoShaderParameterBufferObject::getTypeId | ( | ) | const [virtual] |
Returns the type identifier for this specific instance.
Reimplemented from SoShaderParameter.
An SoBufferObject containing data.
In order to avoid a CPU to GPU copy, it is recommended to use an SoGpuBufferObject. Default is null.
The buffer type.
Default is SHADER_STORAGE_BUFFER. The only legal values are SHADER_STORAGE_BUFFER and UNIFORM_BUFFER.