#include <X3DShaderNode.h>
Inheritance diagram for H3D::X3DShaderNode:

Public Member Functions | |
| X3DShaderNode (Inst< DisplayList > _displayList=0, Inst< SFNode > _metadata=0, Inst< SFBool > _isSelected=0, Inst< SFBool > _isValid=0, Inst< SFBool > _activate=0, Inst< SFString > _language=0) | |
| Constructor. | |
| virtual bool | isSupported () |
| Returns true if the shader node type is supported by the browser. | |
| void | setSelected (bool selected) |
| Set the isSelected field. | |
| virtual string | defaultXMLContainerField () |
| Returns the default xml containerField attribute value. | |
Static Public Member Functions | |
| static X3DShaderNode * | getActiveShader () |
| Gets the currently active shader, i.e. | |
Public Attributes | |
| auto_ptr< SFBool > | isSelected |
| The isSelected output field is used to indicate that this shader instance is the one selected for use by the browser. | |
| auto_ptr< SFBool > | isValid |
| The isValid field is used to indicate whether the current shader objects can be run as a shader program. | |
| auto_ptr< SFBool > | activate |
| The activate field forces the shader to activate the contained objects. | |
| auto_ptr< SFString > | language |
| The language field is used to indicate to the browser which shading language is used for the source file(s). | |
Static Public Attributes | |
| static H3DNodeDatabase | database |
| The H3DNodeDatabase for this node. | |
Static Protected Attributes | |
| static X3DShaderNode * | active_shader = NULL |
The isSelected output field is used to indicate that this shader instance is the one selected for use by the browser. A TRUE value indicates that this instance is in use. A FALSE value indicates that this instance is not in use.
The isValid field is used to indicate whether the current shader objects can be run as a shader program. For example, there are no syntax errors and the hardware can support all the required features. The definition of this field may also add additional semantics on a per-language basis.
The language field is used to indicate to the browser which shading language is used for the source file(s). This field may be used as a hint for the browser if the shading language is not immediately determinable from the source (e.g., a generic MIME type of text/plain is returned). A browser may use this field for determining which node instance will be selected and to ignore languages that it is not capable of supporting. H3D API only supports the "GLSL" language.
|
|
Returns the default xml containerField attribute value. For this node it is "shader". Reimplemented from H3D::Node. |
|
|
Gets the currently active shader, i.e. the shader that is currently used in OpenGL. NULL us returned if no X3DShaderNode is used. |
|
|
Returns true if the shader node type is supported by the browser. By default it checks that the language is GLSL. Reimplemented in H3D::PackagedShader, and H3D::ProgramShader. |
|
|
The activate field forces the shader to activate the contained objects.
Access type: inputOnly |
|
|
The isSelected output field is used to indicate that this shader instance is the one selected for use by the browser. A TRUE value indicates that this instance is in use. A FALSE value indicates that this instance is not in use.
Access type: outputOnly
|
|
|
The isValid field is used to indicate whether the current shader objects can be run as a shader program. For example, there are no syntax errors and the hardware can support all the required features.
Access type: outputOnly |
|
|
The language field is used to indicate to the browser which shading language is used for the source file(s). This field is ignored in H3D API since only "GLSL" source is allowed.
Access type: outputOnly |
1.4.5