Interface ShaderPart

All Superinterfaces:
X3DNode, X3DUrlObject
All Known Implementing Classes:
ShaderPart

public interface ShaderPart
extends X3DNode, X3DUrlObject
ShaderPart can contain a CDATA section of plain-text source code.

X3D node tooltip: (X3D version 3.1 or later) [X3DNode,X3DUrlObject] ShaderPart defines the source for a portion of source code used by a ComposedShader node. The source is not required to be a complete shader for all of the vertex/fragment processing.
  • Hint: ShaderPart can contain a CDATA block of plain-text source code.
  • Warning: ShaderPart contains no field declarations.
  • Hint: insert a CDATA block to contain source code embedded within an X3D scene.
  • Hint: a contained CDATA block for source code protects whitespace, line breaks, and literal characters (such as & for ampersand character, < for less-than-sign character, and > for greater-than-sign character) from unintended escape-character modifications by XML parsers.
  • Warning: strict order is required for contained constructs: first field declarations (if any), then IS/connect statements (if any), and finally CDATA source-code block.
  • Hint: ShaderPart subprograms are written in the same language, which is specified in the parent ComposedShader node.
  • Hint: apply containerField='watchList' when parent node is LoadSensor.

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

    Modifier and Type Method Description
    java.lang.String getDescription()
    Provide String value from inputOutput SFString field named description.
    boolean getLoad()
    Provide boolean value from inputOutput SFBool field named load.
    X3DMetadataObject getMetadata()
    Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    double getRefresh()
    Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named refresh.
    java.lang.String getType()
    Provide String enumeration value (baseType xs:NMTOKEN) ["VERTEX" | "FRAGMENT" | 'etc.'] from initializeOnly SFString field named type.
    java.lang.String[] getUrl()
    Provide array of String results from inputOutput MFString field named url.
    ShaderPart setDescription​(java.lang.String newValue)
    Accessor method to assign String value to inputOutput SFString field named description.
    ShaderPart setLoad​(boolean newValue)
    Accessor method to assign boolean value to inputOutput SFBool field named load.
    ShaderPart setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    ShaderPart setRefresh​(double newValue)
    Accessor method to assign double value in seconds to inputOutput SFTime field named refresh.
    ShaderPart setType​(java.lang.String newValue)
    Accessor method to assign String enumeration value ("VERTEX" | "FRAGMENT") to initializeOnly SFString field named type.
    ShaderPart setUrl​(java.lang.String[] newValue)
    Accessor method to assign String array to inputOutput MFString field named url.
  • Method Details

    • getDescription

      java.lang.String getDescription()
      Provide String value from inputOutput SFString field named description.

      Tooltip: Author-provided prose that describes intended purpose of the url asset.
      • Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
      Specified by:
      getDescription in interface X3DUrlObject
      Returns:
      value of description field
    • setDescription

      ShaderPart setDescription​(java.lang.String newValue)
      Accessor method to assign String value to inputOutput SFString field named description.

      Tooltip: Author-provided prose that describes intended purpose of the url asset.
      • Hint: many XML tools substitute XML character references for special characters automatically if needed within an attribute value (such as & for & ampersand character, or " for " quotation-mark character).
      Specified by:
      setDescription in interface X3DUrlObject
      Parameters:
      newValue - is new value for the description field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getLoad

      boolean getLoad()
      Provide boolean value from inputOutput SFBool field named load.

      Tooltip: load=true means load immediately, load=false means defer loading or else unload a previously loaded scene.
      • Hint: allows author to design when Inline loading occurs via user interaction, event chains or scripting.
      • Hint: use a separate LoadSensor node to detect when loading is complete.
      Specified by:
      getLoad in interface X3DUrlObject
      Returns:
      value of load field
    • setLoad

      ShaderPart setLoad​(boolean newValue)
      Accessor method to assign boolean value to inputOutput SFBool field named load.

      Tooltip: load=true means load immediately, load=false means defer loading or else unload a previously loaded scene.
      • Hint: allows author to design when Inline loading occurs via user interaction, event chains or scripting.
      • Hint: use a separate LoadSensor node to detect when loading is complete.
      Specified by:
      setLoad in interface X3DUrlObject
      Parameters:
      newValue - is new value for the load field.
      Returns:
      ShaderPart - 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 X3DNode
      Returns:
      value of metadata field
      See Also:
      X3D Scene Authoring Hints: Metadata Nodes
    • setMetadata

      ShaderPart 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 X3DNode
      Parameters:
      newValue - is new value for the metadata field.
      Returns:
      ShaderPart - 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
    • getRefresh

      double getRefresh()
      Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named refresh.

      Tooltip: refresh defines interval in seconds before automatic reload of current url asset is performed.
      • Hint: if preceding file loading fails or load field is false, no refresh is performed.
      • Hint: repeated refresh attempts to reload currently loaded entry of url list. If that fails, the browser retries other entries in the url list.
      • Warning: automatically reloading content has security considerations and needs to be considered carefully.
      Specified by:
      getRefresh in interface X3DUrlObject
      Returns:
      value of refresh field
    • setRefresh

      ShaderPart setRefresh​(double newValue)
      Accessor method to assign double value in seconds to inputOutput SFTime field named refresh.

      Tooltip: refresh defines interval in seconds before automatic reload of current url asset is performed.
      • Hint: if preceding file loading fails or load field is false, no refresh is performed.
      • Hint: repeated refresh attempts to reload currently loaded entry of url list. If that fails, the browser retries other entries in the url list.
      • Warning: automatically reloading content has security considerations and needs to be considered carefully.
      Specified by:
      setRefresh in interface X3DUrlObject
      Parameters:
      newValue - is new value for the refresh field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getType

      java.lang.String getType()
      Provide String enumeration value (baseType xs:NMTOKEN) ["VERTEX" | "FRAGMENT" | 'etc.'] from initializeOnly SFString field named type.

      Tooltip: type indicates whether this ShaderProgram is a vertex or fragment (pixel) shader.
      • Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
      Returns:
      value of type field
    • setType

      ShaderPart setType​(java.lang.String newValue)
      Accessor method to assign String enumeration value ("VERTEX" | "FRAGMENT") to initializeOnly SFString field named type.

      Tooltip: type indicates whether this ShaderProgram is a vertex or fragment (pixel) shader.
      • Warning: do not wrap extra quotation marks around these SFString enumeration values, since "quotation" "marks" are only used for MFString values.
      Parameters:
      newValue - is new value for the type field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
    • getUrl

      java.lang.String[] getUrl()
      Provide array of String results from inputOutput MFString field named url.

      Tooltip: Location and filename of shader. Multiple locations are more reliable, and including a Web address lets e-mail attachments work.
      • Hint: MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc."
      • Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
      • Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
      • Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
      • Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
      Specified by:
      getUrl in interface X3DUrlObject
      Returns:
      value of url field
    • setUrl

      ShaderPart setUrl​(java.lang.String[] newValue)
      Accessor method to assign String array to inputOutput MFString field named url.

      Tooltip: Location and filename of shader. Multiple locations are more reliable, and including a Web address lets e-mail attachments work.
      • Hint: MFString arrays can have multiple values, so separate each individual string by quote marks "https://www.web3d.org" "https://www.web3d.org/about" "etc."
      • Hint: alternative XML encoding for quotation mark " is " (which is an example of a character entity).
      • Warning: strictly match directory and filename capitalization for http links! This is important for portability. Some operating systems are forgiving of capitalization mismatches, but http/https url addresses and paths in Unix-based operating systems are all case sensitive and intolerant of uppercase/lowercase mismatches.
      • Hint: can replace embedded blank(s) in url queries with %20 for each blank character.
      • Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
      Specified by:
      setUrl in interface X3DUrlObject
      Parameters:
      newValue - is new value for the url field.
      Returns:
      ShaderPart - namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).