Interface ProgramShader
- All Superinterfaces:
X3DAppearanceChildNode
,X3DNode
,X3DShaderNode
- All Known Implementing Classes:
ProgramShader
ProgramShader contains no field declarations and no plain-text source code.
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
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
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.
ProgramShader 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:
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addPrograms
(X3DNode[] newValue) Add array of child programs 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.X3DNode[]
Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field programs.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.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.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).setPrograms
(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 programs.
-
Method Details
-
setActivate
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 interfaceX3DShaderNode
- 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 interfaceX3DShaderNode
- 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 interfaceX3DShaderNode
- 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 interfaceX3DShaderNode
- Returns:
- value of language field
-
setLanguage
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 interfaceX3DShaderNode
- 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 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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
getMetadata
in interfaceX3DAppearanceChildNode
- Specified by:
getMetadata
in interfaceX3DNode
- Specified by:
getMetadata
in interfaceX3DShaderNode
- Returns:
- value of metadata field
- See Also:
-
setMetadata
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.- Hint: X3D Architecture 7.2.4 Metadata https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS/Part01/components/core.html#Metadata
- Specified by:
setMetadata
in interfaceX3DAppearanceChildNode
- Specified by:
setMetadata
in interfaceX3DNode
- Specified by:
setMetadata
in interfaceX3DShaderNode
- 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:
-
getPrograms
X3DNode[] getPrograms()Provide array of org.web3d.x3d.sai.Core.X3DNode results (using an array consisting of properly typed nodes or ProtoInstances) from inputOutput MFNode field programs.
Tooltip: [ShaderProgram] ProgramShader contains zero or more ShaderProgram node instances. In general, only two ShaderProgram instances are needed: one each for vertex and fragment processing.- Hint: each shader language defines required behavior for processing this field.
Warning: according to X3D Unified Object Model (X3DUOM), acceptable node types are limited to ShaderProgram.- Returns:
- value of programs field
- See Also:
-
setPrograms
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 programs.
Tooltip: [ShaderProgram] ProgramShader contains zero or more ShaderProgram node instances. In general, only two ShaderProgram instances are needed: one each for vertex and fragment processing.- Hint: each shader language defines required behavior for processing this field.
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
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
Set single child programs node, replacing prior array of existing nodes (if any).- Parameters:
newValue
- is new node for the programs field
-