Interface ProgramShader

All Superinterfaces:
X3DAppearanceChildNode, X3DNode, X3DShaderNode
All Known Implementing Classes:
ProgramShaderObject

public interface ProgramShader
extends X3DShaderNode
ProgramShader contains no field declarations and no plain-text source code.

X3D node tooltip: (X3D version 3.1 or later) [X3DShaderNode] ProgramShader defines a shader that consists of one or more individually programmable, self-contained pieces. ProgramShader contains IS/connect and programs [ShaderProgram] nodes.
  • Warning: ProgramShader contains no field declarations and no plain-text CDATA block source code.
  • 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:
SAI Java Specification: TODO, X3D Abstract Specification: ProgramShader, X3D Tooltips: ProgramShader, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    void addPrograms​(X3DNode[] newValue)
    Add array of child programs nodes to array of existing nodes (if any).
    boolean getIsSelected()
    Provide boolean value from outputOnly SFBool field named isSelected.
    boolean getIsValid()
    Provide boolean value from outputOnly SFBool field named isValid.
    java.lang.String getLanguage()
    Provide String enumeration value (baseType shaderLanguageValues) ["Cg" | "GLSL" | "HLSL" | 'etc.'] from initializeOnly SFString field named language.
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    X3DNode[] getPrograms()
    Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field programs.
    ProgramShader setActivate​(boolean newValue)
    Accessor method to assign boolean value to inputOnly SFBool field named activate.
    ProgramShader setLanguage​(java.lang.String newValue)
    Accessor method to assign String enumeration value ("Cg" | "GLSL" | "HLSL") to initializeOnly SFString field named language.
    ProgramShader setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    void setPrograms​(X3DNode newValue)
    Set single child programs node, replacing prior array of existing nodes (if any).
    ProgramShader setPrograms​(X3DNode[] newValue)
    Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field programs.
  • Method Details

    • setActivate

      ProgramShader 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:
      ProgramShader - 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

      java.lang.String getLanguage()
      Provide String enumeration value (baseType shaderLanguageValues) ["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

      ProgramShader setLanguage​(java.lang.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:
      ProgramShader - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getMetadata

      X3DMetadataObject getMetadata()
      Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
      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:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      ProgramShader setMetadata​(X3DMetadataObject newValue)
      Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      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:
      ProgramShader - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • getPrograms

      X3DNode[] getPrograms()
      Provide array of X3DNode results (using an array consisting of properly typed nodes or ProtoInstanceObjects) from inputOutput MFNode field programs.

      Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to ShaderProgram.
      Returns:
      value of programs field
      See Also:
      ShaderProgramObject
    • setPrograms

      ProgramShader setPrograms​(X3DNode[] newValue)
      Accessor method to assign X3DNode array (using an array consisting of properly typed nodes or ProtoInstanceObjects) to inputOutput MFNode field programs.

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

      void addPrograms​(X3DNode[] newValue)
      Add array of child programs nodes to array of existing nodes (if any).

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

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