Package org.web3d.x3d.sai.Shaders
Interface PackagedShader
- All Superinterfaces:
X3DAppearanceChildNode
,X3DNode
,X3DProgrammableShaderObject
,X3DShaderNode
,X3DUrlObject
- All Known Implementing Classes:
PackagedShader
PackagedShader can contain field declarations, but no CDATA section of 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.
PackagedShader node tooltip: (X3D version 3.1 or later) [X3DShaderNode,X3DUrlObject,X3DProgrammableShaderObject] PackagedShader contains a url for a single file that may contain a number of shaders and combined effects.
- Hint: PackagedShader contains field declarations and then corresponding IS/connect statements (if any).
- Warning: PackagedShader does not contain CDATA section of plain-text source code.
- Hint: apply default containerField='shaders' when parent node is Appearance.
- Hint: when parent node is LoadSensor, apply containerField='children' (X3Dv4) or containerField='watchList' (X3Dv3). https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#fieldNameChanges
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 TypeMethodDescriptiondouble
Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.double
Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.Provide String value from inputOutput SFString field named description.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.boolean
getLoad()
Provide boolean value from inputOutput SFBool field named load.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.String[]
getUrl()
Provide array of String results from inputOutput MFString field named url.setActivate
(boolean newValue) Accessor method to assign boolean value to inputOnly SFBool field named activate.setAutoRefresh
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.setAutoRefreshTimeLimit
(double newValue) Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.setDescription
(String newValue) Accessor method to assign String value to inputOutput SFString field named description.setLanguage
(String newValue) Accessor method to assign String enumeration value ("Cg" | "GLSL" | "HLSL") to initializeOnly SFString field named language.setLoad
(boolean newValue) Accessor method to assign boolean value to inputOutput SFBool field named load.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.Accessor method to assign String array to inputOutput MFString field named url.
-
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:
PackagedShader
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getAutoRefresh
double getAutoRefresh()Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefresh.
Tooltip: autoRefresh 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:
getAutoRefresh
in interfaceX3DUrlObject
- Returns:
- value of autoRefresh field
-
setAutoRefresh
Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefresh.
Tooltip: autoRefresh 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:
setAutoRefresh
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the autoRefresh field.- Returns:
PackagedShader
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getAutoRefreshTimeLimit
double getAutoRefreshTimeLimit()Provide double value in seconds within allowed range of [0,infinity) from inputOutput SFTime field named autoRefreshTimeLimit.
Tooltip: autoRefreshTimeLimit defines maximum duration that automatic refresh activity can occur.- Hint: Automatic refresh is different than query and response timeouts performed by a networking library while sequentially attempting to retrieve addressed content from a url list.
- Warning: automatically reloading content has security considerations and needs to be considered carefully.
- Specified by:
getAutoRefreshTimeLimit
in interfaceX3DUrlObject
- Returns:
- value of autoRefreshTimeLimit field
-
setAutoRefreshTimeLimit
Accessor method to assign double value in seconds to inputOutput SFTime field named autoRefreshTimeLimit.
Tooltip: autoRefreshTimeLimit defines maximum duration that automatic refresh activity can occur.- Hint: Automatic refresh is different than query and response timeouts performed by a networking library while sequentially attempting to retrieve addressed content from a url list.
- Warning: automatically reloading content has security considerations and needs to be considered carefully.
- Specified by:
setAutoRefreshTimeLimit
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the autoRefreshTimeLimit field.- Returns:
PackagedShader
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDescription
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 interfaceX3DUrlObject
- Returns:
- value of description field
-
setDescription
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 interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the description field.- Returns:
PackagedShader
- 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:
PackagedShader
- 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 interfaceX3DUrlObject
- Returns:
- value of load field
-
setLoad
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 interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the load field.- Returns:
PackagedShader
- 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:
PackagedShader
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getUrl
String[] getUrl()Provide array of String results from inputOutput MFString field named url.
Tooltip: url points to a shader source-code file that may contain a number of shaders and combined effects.- Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
- Specified by:
getUrl
in interfaceX3DUrlObject
- Returns:
- value of url field
-
setUrl
Accessor method to assign String array to inputOutput MFString field named url.
Tooltip: url points to a shader source-code file that may contain a number of shaders and combined effects.- Hint: X3D Scene Authoring Hints, urls https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#urls
- Specified by:
setUrl
in interfaceX3DUrlObject
- Parameters:
newValue
- is new value for the url field.- Returns:
PackagedShader
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-