29 #ifndef __PROGRAMSHADER_H__
30 #define __PROGRAMSHADER_H__
74 FieldRef< H3DDisplayListObject,
75 H3DDisplayListObject::DisplayList,
76 &H3DDisplayListObject::displayList >,
79 virtual void onAdd(
Node * n ) {
97 Inst< SFNode > _metadata = 0,
98 Inst< SFBool > _isSelected = 0,
99 Inst< SFBool > _isValid = 0,
100 Inst< SFBool > _activate = 0,
101 Inst< SFString > _language = 0,
102 Inst< MFShaderProgram > _programs = 0 );
106 const string &l = language->getValue();
108 ( l ==
"CG" || l ==
"CG_OPENGL_ARB" || l ==
"CG_OPENGL_NV40"
109 || l ==
"CG_OPENGL_NV30" || l ==
"CG_OPENGL_NV20" );
112 Console(LogLevel::Error) <<
"Warning: H3D API compiled without cg support. ProgramShader "
113 <<
" node will not support CG." << endl;
122 virtual void render();
125 virtual void preRender();
128 virtual void postRender();
Contains the DependentSFNode and DependentMFNode template classes.
Header file for ShaderProgram, X3D scene-graph node.
Header file for X3DProgrammableShaderObject.
Header file for X3DShaderNode, X3D scene-graph node.
DependentMFNode are modified TypedMFNode fields where the field dirty status is dependent on fields i...
Definition: DependentNodeFields.h:336
Class used for specifying a field member of a node in a DependentSFNode or DependentMFNode specificat...
Definition: DependentNodeFields.h:48
We use the Field's lazy evaluation mechanisms to manage the GL display lists for rendering,...
Definition: H3DDisplayListObject.h:60
This abstract interface class is the base class for all node types that wants to create an OpenGL dis...
Definition: H3DDisplayListObject.h:54
H3DUniquePtr< DisplayList > displayList
The DisplayList instance handling the OpenGL caching of this object.
Definition: H3DDisplayListObject.h:256
Node is the base class for all classes that can be part of the H3D scene-graph.
Definition: Node.h:46
The MFShaderProgram class sets the profile for each ShaderProgram node that is added to it.
Definition: ProgramShader.h:77
he ProgramShader node defines a shader that can consist of one or more individually programmable,...
Definition: ProgramShader.h:67
virtual bool isSupported()
Returns true if the shader node type is supported by the browser.
Definition: ProgramShader.h:105
static H3DNodeDatabase database
The H3DNodeDatabase for this node.
Definition: ProgramShader.h:139
H3DUniquePtr< MFShaderProgram > programs
The shader programs to use in the ProgramShader.
Definition: ProgramShader.h:136
The ShaderProgram node provides the source and interface to a self contained program that occupies on...
Definition: ShaderProgram.h:68
virtual void setCGProfile(const string &profile)
Set the cg profile to use.
Definition: ShaderProgram.cpp:233
This abstract node type is the base type for all node types which specify a programmable shader.
Definition: X3DShaderNode.h:61
H3DUniquePtr< SFString > language
The language field is used to indicate to the browser which shading language is used for the source f...
Definition: X3DShaderNode.h:131
H3D API namespace.
Definition: Anchor.h:38
The H3DNodeDatabase contains a mapping between a name of a Node and the constructor for the Node with...
Definition: H3DNodeDatabase.h:194