ShaderProgram
The ShaderProgram node provides the source and interface to a self contained program that occupies one part of the rendering process: either a vertex or fragment shader.
Inheritance
Code
XML encoding
<ShaderProgram type='VERTEX' profile='' url='' logFeature='' />
Classic encoding
ShaderProgram {
	type "VERTEX"
	profile [""]
	url [""]
	logFeature [""]
}
    Interface
        Filter: X3D only | Avalon only | All
        
            
        
            
    | id | Name | DataType | PartType | Default | ValueType | Description | 
|---|---|---|---|---|---|---|
|  | type | SFString | initializeOnly | VERTEX | VERTEX; FRAGMENT; GEOMETRY | Indicates whether this object shall be compiled as a vertex shader, fragment shader or geo shader type. | 
|  | profile | MFString | inputOutput | defines one profile per url entry. The profile values depend on the "type" setting and runtime-system. The "auto" value selects the default setting | ||
|  | url | MFString | inputOutput | cdata | Points to a shader file or contains shader code. The shader code will be interpreted according to the type field. When the url field contains no values ([]), this object instance is ignored. | |
|  | logFeature | MFString | inputOutput | state, child, parent, route, eventIn, eventOut | controls the logging of changes, state: log state changes (e.g. live), child: log child add/remove, parent: log parent add/remove, route: log route add/remove; eventIn: log receiving of events, eventOut: log sending of events: guiView, runtime system should create node-view, guiEdit: runtime system should create node-editeverything: log everything | |
|  | metadata | SFNode | inputOutput | MetadataObject | container for payload metadata inside MetadataSet element | 
