Interface ComposedShader

All Superinterfaces:
X3DAppearanceChildNode, X3DNode, X3DProgrammableShaderObject, X3DShaderNode
All Known Implementing Classes:
ComposedShader

public interface ComposedShader extends X3DShaderNode, X3DProgrammableShaderObject
ComposedShader can contain field declarations, but no CDATA section of plain-text source code, since programs are composed from child ShaderPart nodes.

Warning: this is an abstract interface that cannot be instantiated as a concrete object. Java programmers typically only need to use concrete objects provided by the org.web3d.x3d.jsail classes. ComposedShader node tooltip: (X3D version 3.1 or later) [X3DShaderNode,X3DProgrammableShaderObject] ComposedShader defines a shader where the individual source files are assembled from contained ShaderPart program sections. All access to shading capabilities is defined through a single interface that applies to all parts.
  • Hint: ComposedShader contains field declarations and then corresponding IS/connect statements (if any), followed by <ShaderPart containerField='parts'/> nodes.
  • Warning: ComposedShader does not contain CDATA section of plain-text source code. All source programs are contained in child ShaderPart nodes.
  • Hint: apply default containerField='shaders' when parent node is Appearance.

Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
See Also:
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addParts(X3DNode[] newValue)
    Add array of child parts nodes to array of existing nodes (if any).
    boolean
    Provide boolean value from outputOnly SFBool field named isSelected.
    boolean
    Provide boolean value from outputOnly SFBool field named isValid.
    Provide String enumeration value (baseType xs:NMTOKEN) ["Cg" | "GLSL" | "HLSL" | 'etc.'] from initializeOnly SFString field named language.
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field parts.
    setActivate(boolean newValue)
    Accessor method to assign boolean value to inputOnly SFBool field named activate.
    setLanguage(String newValue)
    Accessor method to assign String enumeration value ("Cg" | "GLSL" | "HLSL") to initializeOnly SFString field named language.
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    void
    setParts(X3DNode newValue)
    Set single child parts node, replacing prior array of existing nodes (if any).
    setParts(X3DNode[] newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field parts.
  • Method Details

    • setActivate

      ComposedShader setActivate(boolean newValue)
      Accessor method to assign boolean value to inputOnly SFBool field named activate.

      Tooltip: activate forces the shader to activate the contained objects.
      • Warning: it is an error to define this transient inputOnly field in an X3D file, instead only use it a destination for ROUTE events.
      Specified by:
      setActivate in interface X3DShaderNode
      Parameters:
      newValue - is new value for the activate field.
      Returns:
      ComposedShader - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getIsSelected

      boolean getIsSelected()
      Provide boolean value from outputOnly SFBool field named isSelected.

      Tooltip: isSelected indicates this shader instance is selected for use by browser
      • Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
      Specified by:
      getIsSelected in interface X3DShaderNode
      Returns:
      value of isSelected field
    • getIsValid

      boolean getIsValid()
      Provide boolean value from outputOnly SFBool field named isValid.

      Tooltip: isValid indicates whether current shader objects can be run as a shader program.
      • Warning: it is an error to define this transient outputOnly field in an X3D file, instead only use it a source for ROUTE events.
      Specified by:
      getIsValid in interface X3DShaderNode
      Returns:
      value of isValid field
    • getLanguage

      String getLanguage()
      Provide String enumeration value (baseType xs:NMTOKEN) ["Cg" | "GLSL" | "HLSL" | 'etc.'] from initializeOnly SFString field named language.

      Tooltip: 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.
      • Hint: recognized values include "Cg" "GLSL" "HLSL".
      Specified by:
      getLanguage in interface X3DShaderNode
      Returns:
      value of language field
    • setLanguage

      ComposedShader setLanguage(String newValue)
      Accessor method to assign String enumeration value ("Cg" | "GLSL" | "HLSL") to initializeOnly SFString field named language.

      Tooltip: 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.
      • Hint: recognized values include "Cg" "GLSL" "HLSL".
      Specified by:
      setLanguage in interface X3DShaderNode
      Parameters:
      newValue - is new value for the language field.
      Returns:
      ComposedShader - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      getMetadata in interface X3DAppearanceChildNode
      Specified by:
      getMetadata in interface X3DNode
      Specified by:
      getMetadata in interface X3DShaderNode
      Returns:
      value of metadata field
      See Also:
    • setMetadata

      ComposedShader setMetadata(X3DMetadataObject newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.

      Tooltip: [X3DMetadataObject] Information about this node can be contained in a MetadataBoolean, MetadataDouble, MetadataFloat, MetadataInteger, MetadataString or MetadataSet node.
      Specified by:
      setMetadata in interface X3DAppearanceChildNode
      Specified by:
      setMetadata in interface X3DNode
      Specified by:
      setMetadata in interface X3DShaderNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      ComposedShader - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
    • getParts

      X3DNode[] getParts()
      Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field parts.

      Tooltip: [ShaderPart] ComposedShader can contain multiple ShaderPart nodes in the parts field. *


      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to ShaderPart.
      Returns:
      value of parts field
      See Also:
    • setParts

      ComposedShader setParts(X3DNode[] newValue)
      Accessor method to assign org.web3d.x3d.sai.Core.X3DNode array (using an array consisting of properly typed nodes or ProtoInstances) to inputOutput MFNode field parts.

      Tooltip: [ShaderPart] ComposedShader can contain multiple ShaderPart nodes in the parts field. *


      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to ShaderPart.
      Parameters:
      newValue - is new value for the parts field.
      Returns:
      ComposedShader - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • addParts

      void addParts(X3DNode[] newValue)
      Add array of child parts nodes to array of existing nodes (if any).

      Note: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to ShaderPart.
      Parameters:
      newValue - is new value array to be appended the parts field.
    • setParts

      void setParts(X3DNode newValue)
      Set single child parts node, replacing prior array of existing nodes (if any).
      Parameters:
      newValue - is new node for the parts field