diagram | |||||||||||||||||||||||||||||||||||||||||||||
properties |
|
||||||||||||||||||||||||||||||||||||||||||||
children | field IS MetadataDouble MetadataFloat MetadataInteger MetadataSet MetadataString ShaderPart ProtoInstance | ||||||||||||||||||||||||||||||||||||||||||||
used by |
|
||||||||||||||||||||||||||||||||||||||||||||
attributes |
|
||||||||||||||||||||||||||||||||||||||||||||
annotation |
|
||||||||||||||||||||||||||||||||||||||||||||
source | <xs:element name="ComposedShader"> <xs:annotation> <xs:appinfo> <xs:element name="IS" type="SFNode" fixed="inputOutputField" default="IS"/> <xs:element name="field" type="MFNode" default="field"/> <xs:element name="metadata" type="SFNode" fixed="inputOutputField" default="X3DMetadataObject"/> <xs:element name="parts" type="MFNode" fixed="inputOutputField" default="ShaderPart"/> <xs:attribute name="additionalInterface" type="xs:string" default="X3DShaderNode"/> <xs:attribute name="additionalInterface" type="xs:string" default="X3DProgrammableShaderObject"/> <!-- language, activate, isSelected, isValid inherited from X3DShaderNode --> <xs:attribute name="activate" type="SFBool" fixed="inputOnlyField"/> <xs:attribute name="isSelected" type="SFBool" fixed="outputOnlyField"/> <xs:attribute name="isValid" type="SFBool" fixed="outputOnlyField"/> <xs:attribute name="language" type="shaderLanguageValues"/> <xs:attribute name="componentName" type="componentNameChoices" fixed="Shaders"/> <xs:attribute name="componentLevel" type="xs:positiveInteger" fixed="1"/> ComposedShader can contain field declarations, but no CDATA section of plain-text source code, since programs are composed from child ShaderPart nodes. </xs:appinfo> <xs:documentation source="https://www.web3d.org/documents/specifications/19775-1/V3.3/Part01/components/shaders.html#ComposedShader"/> </xs:annotation> <xs:complexType> <xs:sequence minOccurs="0"> <xs:annotation> <xs:documentation>implements X3DShaderNode, X3DProgrammableShaderObject (and contains no CDATA source)</xs:documentation> </xs:annotation> <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:choice minOccurs="0" maxOccurs="unbounded"> <xs:annotation> <xs:documentation>parts</xs:documentation> </xs:annotation> <xs:element ref="ShaderPart"/> <xs:element ref="ProtoInstance"> <xs:annotation> <xs:documentation>Appropriately typed substitution node</xs:documentation> </xs:annotation> </xs:element> </xs:choice> </xs:sequence> <xs:attributeGroup ref="DEF_USE"/> <xs:attributeGroup ref="globalAttributes"/> <xs:attribute name="language" type="SFString"/> <xs:attribute name="containerField" type="xs:NMTOKEN" default="shaders"> <xs:annotation> <xs:documentation>parent Appearance node</xs:documentation> </xs:annotation> </xs:attribute> <!-- Specially constructed case of <xs:extension base="X3DShaderNode"> --> <!-- ComposedShader does not directly derive from X3DNode because of the need to have field children come first, before IS and ChildContentModelCore. --> </xs:complexType> </xs:element> |
type | SFString |
source | <xs:attribute name="language" type="SFString"/> |
type | xs:NMTOKEN | ||
properties |
|
||
annotation |
|
||
source | <xs:attribute name="containerField" type="xs:NMTOKEN" default="shaders"> <xs:annotation> <xs:documentation>parent Appearance node</xs:documentation> </xs:annotation> </xs:attribute> |