ProgramShader defines a shader that consists of one or more individually programmable, self-contained pieces. ProgramShader contains IS/connect, programs [ShaderProgram] nodes and field definitions.
The ProgramShader node belongs to the Shaders component and its container field is shaders. It is available since X3D version 3.0 or later.
SFNode [in, out] metadata NULL [X3DMetadataObject]
Metadata are not part of the X3D world and not interpreted by the X3D browser, but they can be accessed via the ECMAScript interface.
SFBool [in] activate
Activate forces the shader to activate the contained objects.
SFBool [out] isSelected
IsSelected indicates this shader instance is selected for use by browser
SFBool [out] isValid
IsValid indicates whether current shader objects can be run as a shader program.
SFString [ ] language "" ["Cg"|"GLSL"|"HLSL"|...]
The language field indicates to the X3D player which shading language is used. The language field may be used to optionally determine the language type if no MIME-type information is available.
Recognized values include "CG" "GLSL" "HLSL" "FX"
MFNode [in, out] programs [ ] [ShaderProgram]
Input/Output field programs.