element ShaderProgram
diagram x3d-4.0_diagrams/x3d-4.0_p217.png
type extension of X3DNodeMixedContent
properties
content complex
mixed true
children field IS MetadataBoolean MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString
used by
element ProgramShader
group LoadSensorChildContentModel
attributes
Name  Type  Use  Default  Fixed  Annotation
DEF  xs:ID        
appinfo

                    DEF defines a unique ID name for each node, referenceable by other nodes.
               
USE  xs:IDREF        
appinfo

                    USE means reuse an already DEF-ed node ID, excluding all child nodes and all other attributes (except for containerField, which can have a different value).
               
class  xs:NMTOKENS        
appinfo

                    The class attribute is a space-separated list of classes, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
id  xs:NMTOKEN        
appinfo

                    The id attribute is a unique identifier, reserved for use by HTML5/DOM pages, independent of DEF labeling and internal X3D node referencing.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
style  SFString        
appinfo

                    The style attribute provides an inline block of CSS for element styling, reserved for use by Cascading Style Sheets (CSS) and XML stylesheets.
                    This attribute is only functional if the X3D model is loaded within an HTML page.
               
type  xs:NMTOKEN    VERTEX    
description  SFString        
appinfo
added in X3D version 4
load  SFBool    true    
autoRefresh  derived by: SFTime    0    
autoRefreshTimeLimit  derived by: SFTime    3600    
url  MFString        
appinfo
<xs:attribute name="componentName" type="componentNameChoices" fixed="Networking"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="4"/>
containerField  xs:NMTOKEN    programs    
annotation
appinfo
<xs:element name="field" type="MFNode" default="field"/>
<!-- optional values, can be extended -->
<xs:attribute name="type" type="shaderPartTypeValues"/>
<xs:attribute name="sourceCode" type="xs:string" fixed="inputOutputField">
<xs:annotation>
<xs:appinfo>Embedded scripting source code can be contained within the parent node as a plain-text CDATA block, without requiring escaping of special characters.</xs:appinfo>
</xs:annotation>
</xs:attribute>
<xs:attribute name="additionalInterface" type="xs:string" default="X3DUrlObject"/>
<xs:attribute name="additionalInterface" type="xs:string" default="X3DProgrammableShaderObject"/>
<xs:attribute name="componentName" type="componentNameChoices" fixed="Shaders"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
                ShaderProgram can contain field declarations and a CDATA section of plain-text source code.
           
source <xs:element name="ShaderProgram">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:element name="field" type="MFNode" default="field"/>
     
<!-- optional values, can be extended -->
     
<xs:attribute name="type" type="shaderPartTypeValues"/>
     
<xs:attribute name="sourceCode" type="xs:string" fixed="inputOutputField">
       
<xs:annotation>
         
<xs:appinfo>Embedded scripting source code can be contained within the parent node as a plain-text CDATA block, without requiring escaping of special characters.</xs:appinfo>
       
</xs:annotation>
     
</xs:attribute>
     
<xs:attribute name="additionalInterface" type="xs:string" default="X3DUrlObject"/>
     
<xs:attribute name="additionalInterface" type="xs:string" default="X3DProgrammableShaderObject"/>
     
<xs:attribute name="componentName" type="componentNameChoices" fixed="Shaders"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/>
                ShaderProgram can contain field declarations and a CDATA section of plain-text source code.
           
</xs:appinfo>
   
<xs:documentation source="https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/shaders.html#ShaderProgram"/>
 
</xs:annotation>
 
<xs:complexType mixed="true">
   
<xs:complexContent>
     
<xs:extension base="X3DNodeMixedContent">
       
<xs:sequence>
         
<xs:element ref="field" minOccurs="0" maxOccurs="unbounded"/>
         
<xs:element ref="IS" minOccurs="0"/>
         
<xs:group ref="ChildContentModelCore" minOccurs="0">
           
<xs:annotation>
             
<xs:documentation>metadata</xs:documentation>
           
</xs:annotation>
         
</xs:group>
       
</xs:sequence>
       
<xs:attribute name="type" type="xs:NMTOKEN" default="VERTEX"/>
       
<xs:attribute name="description" type="SFString">
         
<xs:annotation>
           
<xs:appinfo>added in X3D version 4</xs:appinfo>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="load" type="SFBool" default="true"/>
       
<xs:attribute name="autoRefresh" default="0">
         
<!-- type="SFTimeNonNegative" -->
         
<xs:simpleType>
           
<xs:restriction base="SFTime">
             
<xs:minInclusive value="0"/>
           
</xs:restriction>
         
</xs:simpleType>
       
</xs:attribute>
       
<xs:attribute name="autoRefreshTimeLimit" default="3600">
         
<!-- type="SFTimeNonNegative" -->
         
<xs:simpleType>
           
<xs:restriction base="SFTime">
             
<xs:minInclusive value="0"/>
           
</xs:restriction>
         
</xs:simpleType>
       
</xs:attribute>
       
<xs:attribute name="url" type="MFString">
         
<xs:annotation>
           
<xs:appinfo>
             
<xs:attribute name="componentName" type="componentNameChoices" fixed="Networking"/>
             
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="4"/>
           
</xs:appinfo>
         
</xs:annotation>
       
</xs:attribute>
       
<xs:attribute name="containerField" type="xs:NMTOKEN" default="programs"/>
     
</xs:extension>
   
</xs:complexContent>
 
</xs:complexType>
</xs:element>

attribute ShaderProgram/@type
type xs:NMTOKEN
properties
default VERTEX
source <xs:attribute name="type" type="xs:NMTOKEN" default="VERTEX"/>

attribute ShaderProgram/@description
type SFString
annotation
appinfo
added in X3D version 4
source <xs:attribute name="description" type="SFString">
 
<xs:annotation>
   
<xs:appinfo>added in X3D version 4</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute ShaderProgram/@load
type SFBool
properties
default true
source <xs:attribute name="load" type="SFBool" default="true"/>

attribute ShaderProgram/@autoRefresh
type restriction of SFTime
properties
default 0
facets
Kind Value Annotation
minInclusive 0
source <xs:attribute name="autoRefresh" default="0">
 
<!-- type="SFTimeNonNegative" -->
 
<xs:simpleType>
   
<xs:restriction base="SFTime">
     
<xs:minInclusive value="0"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>

attribute ShaderProgram/@autoRefreshTimeLimit
type restriction of SFTime
properties
default 3600
facets
Kind Value Annotation
minInclusive 0
source <xs:attribute name="autoRefreshTimeLimit" default="3600">
 
<!-- type="SFTimeNonNegative" -->
 
<xs:simpleType>
   
<xs:restriction base="SFTime">
     
<xs:minInclusive value="0"/>
   
</xs:restriction>
 
</xs:simpleType>
</xs:attribute>

attribute ShaderProgram/@url
type MFString
annotation
appinfo
<xs:attribute name="componentName" type="componentNameChoices" fixed="Networking"/>
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="4"/>
source <xs:attribute name="url" type="MFString">
 
<xs:annotation>
   
<xs:appinfo>
     
<xs:attribute name="componentName" type="componentNameChoices" fixed="Networking"/>
     
<xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="4"/>
   
</xs:appinfo>
 
</xs:annotation>
</xs:attribute>

attribute ShaderProgram/@containerField
type xs:NMTOKEN
properties
default programs
source <xs:attribute name="containerField" type="xs:NMTOKEN" default="programs"/>


XML Schema documentation generated by XMLSpy Schema Editor http://www.altova.com/xmlspy