Difference between revisions of "ComposedShader"

From Web3D.org
Jump to: navigation, search
Line 6: Line 6:
 
<pre>
 
<pre>
 
ComposedShader : X3DShaderNode, X3DProgrammableShaderObject {
 
ComposedShader : X3DShaderNode, X3DProgrammableShaderObject {
   SFNode  [in,out] metadata NULL [X3DMetadataObject]
+
   SFNode  [in,out] metadata   NULL [X3DMetadataObject]
   MFNode  [in,out] parts []     [ShaderPart]
+
   MFNode  [in,out] parts     []   [ShaderPart]
 
   SFBool  [out]    isSelected
 
   SFBool  [out]    isSelected
 
   SFBool  [out]    isValid
 
   SFBool  [out]    isValid
 
   SFBool  [in]    activate
 
   SFBool  [in]    activate
   SFString []      language ""   
+
   SFString []      language   ""   
  
 
   # And any number of:
 
   # And any number of:
Line 21: Line 21:
 
</pre>
 
</pre>
  
The ComposedShader node defines a shader where the individual source files are not individually programmable. All access to the shading capabilities is defined through a single interface that applies to all parts.
+
==DTD Validation==
  
 +
===Children===
  
'''EXAMPLE'''  OpenGL Shading Language (GLSL)
+
Children must appear as follows:
  
 +
# Any number, including zero, of user defined fields.
 +
# A single, optional IS.
 +
# A single, optional node derived from ''X3DMetadataObject'' for the ''metadata'' field.
 +
# Any number, including zero, of either:
 +
## [[ShaderPart]]
 +
## Appropriately typed Prototype node
  
The ''isValid'' field adds an additional semantic indicating whether the current shader parts can be linked together to form a complete valid shader program.
+
===Attributes===
  
 +
* There are no other attributes requiring validation.
  
The ''activate'' field forces the shader to activate the contained objects. The conditions under which a activate may be required are described in the ''I.5 Event model'' section of the X3D specification.
+
==Schema Validation==
 +
 
 +
===Children===
 +
 
 +
Children must appear as follows:
 +
 
 +
# A single, optional IS.
 +
# A single, optional node derived from ''X3DMetadataObject'' for the ''metadata'' field.
 +
# From zero to six nodes in total of any of the following:
 +
## [[ImageTexture]]
 +
## [[MovieTexture]]
 +
## [[PixelTexture]]
 +
## An appropriately typed Prototype
 +
 
 +
===Attributes===
 +
 
 +
* There are no other attributes requiring validation.
 +
 
 +
==Schematron validation==
 +
 
 +
TBD
  
 
* [[Node Reference]]
 
* [[Node Reference]]

Revision as of 09:43, 27 August 2015

ComposedShader

Specification Link: ComposedShader

ComposedShader : X3DShaderNode, X3DProgrammableShaderObject {
  SFNode   [in,out] metadata   NULL [X3DMetadataObject]
  MFNode   [in,out] parts      []   [ShaderPart]
  SFBool   [out]    isSelected
  SFBool   [out]    isValid
  SFBool   [in]     activate
  SFString []       language   ""  

  # And any number of:
  fieldType []       fieldName
  fieldType [in]     fieldName
  fieldType [out]    fieldName
  fieldType [in,out] fieldName
}

DTD Validation

Children

Children must appear as follows:

  1. Any number, including zero, of user defined fields.
  2. A single, optional IS.
  3. A single, optional node derived from X3DMetadataObject for the metadata field.
  4. Any number, including zero, of either:
    1. ShaderPart
    2. Appropriately typed Prototype node

Attributes

  • There are no other attributes requiring validation.

Schema Validation

Children

Children must appear as follows:

  1. A single, optional IS.
  2. A single, optional node derived from X3DMetadataObject for the metadata field.
  3. From zero to six nodes in total of any of the following:
    1. ImageTexture
    2. MovieTexture
    3. PixelTexture
    4. An appropriately typed Prototype

Attributes

  • There are no other attributes requiring validation.

Schematron validation

TBD