Package com.openinventor.inventor.nodes
Class SoShaderParameterBufferObject
- java.lang.Object
-
- com.openinventor.inventor.Inventor
-
- com.openinventor.inventor.misc.SoBase
-
- com.openinventor.inventor.fields.SoFieldContainer
-
- com.openinventor.inventor.nodes.SoNode
-
- com.openinventor.inventor.nodes.SoShaderParameter
-
- com.openinventor.inventor.nodes.SoShaderParameterBufferObject
-
- All Implemented Interfaces:
SafeDisposable
public class SoShaderParameterBufferObject extends SoShaderParameter
Shader parameter node storing a buffer object. 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 parentSoSeparator
nodes will not be able to create render caches. This may reduce rendering performance.File format/default:
SoShaderParameterBufferObject
{bindingPoint 0 buffer NULL bufferType SHADER_STORAGE_BUFFER - Since:
- Open Inventor 9.8
- See Also:
SoShaderParameter
,SoUniformShaderParameter
,SoShaderObject
,SoShaderProgram
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
SoShaderParameterBufferObject.BufferTypes
List of buffer object types supported as shader parameter.-
Nested classes/interfaces inherited from class com.openinventor.inventor.nodes.SoNode
SoNode.RenderModes
-
Nested classes/interfaces inherited from class com.openinventor.inventor.Inventor
Inventor.ConstructorCommand
-
-
Field Summary
Fields Modifier and Type Field Description SoSFBufferObject
buffer
AnSoBufferObject
containing data.SoSFEnum<SoShaderParameterBufferObject.BufferTypes>
bufferType
The buffer type.-
Fields inherited from class com.openinventor.inventor.nodes.SoShaderParameter
identifier, name
-
Fields inherited from class com.openinventor.inventor.Inventor
VERBOSE_LEVEL, ZeroHandle
-
-
Constructor Summary
Constructors Constructor Description SoShaderParameterBufferObject()
-
Method Summary
-
Methods inherited from class com.openinventor.inventor.nodes.SoNode
affectsState, callback, copy, copy, distribute, doAction, getAlternateRep, getBoundingBox, getByName, getMatrix, getPrimitiveCount, getRenderEngineMode, getRenderUnitID, GLRender, GLRenderBelowPath, GLRenderInPath, GLRenderOffPath, grabEventsCleanup, grabEventsSetup, handleEvent, isBoundingBoxIgnoring, isOverride, pick, rayPick, search, setOverride, touch, write
-
Methods inherited from class com.openinventor.inventor.fields.SoFieldContainer
copyFieldValues, copyFieldValues, enableNotify, fieldsAreEqual, get, getAllFields, getEventIn, getEventOut, getField, getFieldName, hasDefaultValues, isNotifyEnabled, set, setToDefaults
-
Methods inherited from class com.openinventor.inventor.misc.SoBase
dispose, getName, isDisposable, isSynchronizable, setName, setSynchronizable
-
Methods inherited from class com.openinventor.inventor.Inventor
getNativeResourceHandle
-
-
-
-
Field Detail
-
buffer
public final SoSFBufferObject buffer
AnSoBufferObject
containing data. In order to avoid a CPU to GPU copy, it is recommended to use anSoGpuBufferObject
. Default is null.
-
bufferType
public final SoSFEnum<SoShaderParameterBufferObject.BufferTypes> bufferType
The buffer type. Default is SHADER_STORAGE_BUFFER. The only legal values are SHADER_STORAGE_BUFFER and UNIFORM_BUFFER.
-
-