Interface ShaderPart

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

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: TODO, X3D Abstract Specification: ShaderPart, X3D Tooltips: ShaderPart, X3D Scene Authoring Hints
  • Method Summary

    Modifier and Type Method Description
    X3DMetadataObject getMetadata()
    Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
    java.lang.String getType()
    Provide String enumeration value ( baseType shaderPartTypeValues) ["VERTEX" | "FRAGMENT" | 'etc.'] from inputOutput SFString field named type.
    java.lang.String[] getUrl()
    Provide array of String results from inputOutput MFString field named url.
    ShaderPart setMetadata​(X3DMetadataObject newValue)
    Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
    ShaderPart setType​(java.lang.String newValue)
    Accessor method to assign String enumeration value ("VERTEX" | "FRAGMENT") to inputOutput SFString field named type.
    ShaderPart setUrl​(java.lang.String[] newValue)
    Accessor method to assign String array to inputOutput MFString field named url.
  • Method Details

    • getMetadata

      X3DMetadataObject getMetadata()
      Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.
      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 X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.
      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
    • getType

      java.lang.String getType()
      Provide String enumeration value ( baseType shaderPartTypeValues) ["VERTEX" | "FRAGMENT" | 'etc.'] from inputOutput 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 inputOutput 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 "http://www.web3d.org" "http://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 http://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 "http://www.web3d.org" "http://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 http://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).