vrml.vrml97.shaders
Node definitions for a non-standard Programable Shaders extension
Classes
class FloatUniform(
Node
):
Uniform (variable) binding for a shader
The FloatUniform is the base class for FloatUniforms,
that is, there are FloatUniform1f, FloatUniform2f,
FloatUniformm3x2, etceteras Node-types, but not a
FloatUniform node-type.
name
exposedField SFString name
value
exposedField SFArray32 value []
class GLSLImport(
Node
):
GLSL-base shader source-code import
source
exposedField MFString source []
url
exposedField MFString url []
class GLSLObject(
Node
):
GLSL-based shader object (compiled set of shaders)
role
exposedField SFString role VISIBLE
shaders
exposedField MFNode shaders []
textures
exposedField MFNode textures []
uniforms
exposedField MFNode uniforms []
class GLSLShader(
Node
):
GLSL-based shader node
imports
exposedField MFNode imports []
source
exposedField MFString source []
type
exposedField SFString type VERTEX
url
exposedField MFString url []
class IntUniform(
Node
):
Uniform (variable) binding for a shader (integer form)
name
exposedField SFString name
value
exposedField MFInt32 value []
Shader is a programmable substitute for an Appearance node
implementation
exposedField SFNode SFNode NULL
material
exposedField SFNode SFNode NULL
objects
exposedField MFNode objects []
class ShaderAttribute(
Node
):
Attribute (variable) binding for a shader
buffer
exposedField SFNode SFNode NULL
bufferKey
exposedField SFString bufferKey
dataType
exposedField SFString dataType FLOAT
isCoord
exposedField SFBool isCoord False
name
exposedField SFString name
offset
exposedField SFUInt32 offset 0
size
exposedField SFUInt32 size 3
stride
exposedField SFUInt32 stride 0
class ShaderBuffer(
Node
):
Buffer of data into which pointers can be generated
buffer
exposedField SFArray32 buffer []
type
exposedField SFString type ARRAY
usage
exposedField SFString usage DYNAMIC_DRAW
Generic geometry definition for a shader-based renderer
- attributes
- define the attribute pointers which feed the shader, the individual attributes may share a buffer or define one per attribute
- indices
- if present, node defining index array to be used to index into buffers, will be uploaded to an element buffer
- uniforms
- Uniform nodes which are bound/updated on the shader before rendering this geometry, binds to the shader's location == to the uniform's name.
- slices
- slices of the array to render, if not specified then we'll render the whole data-set
appearance
exposedField SFNode SFNode []
attributes
exposedField MFNode attributes []
indices
exposedField MFInt32 indices []
slices
exposedField MFNode slices []
uniforms
exposedField MFNode uniforms []
class ShaderIndexBuffer(
ShaderBuffer
):
Buffer of data from which indices are generated
buffer
exposedField MFUInt32 buffer []
type
exposedField SFString type ELEMENT
usage
exposedField SFString usage DYNAMIC_DRAW
class ShaderSlice(
Node
):
Segment of a shader geometry element to render
count
exposedField SFUInt32 count -1
offset
exposedField SFUInt32 offset -1
uniforms
exposedField MFNode uniforms []
class TextureBufferUniform(
Node
):
Uniform which specifies a texture across vbo data
format
exposedField SFString format RGBA32F
name
exposedField SFString name
value
exposedField SFNode SFNode NULL
class TextureUniform(
Node
):
Uniform which specifies a texture sampler
name
exposedField SFString name
value
exposedField SFNode SFNode NULL