Package org.web3d.x3d.sai.Shape
Interface UnlitMaterial
- All Superinterfaces:
X3DAppearanceChildNode
,X3DMaterialNode
,X3DNode
,X3DOneSidedMaterialNode
- All Known Implementing Classes:
UnlitMaterial
UnlitMaterial specifies surface rendering properties for associated geometry nodes.
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.
UnlitMaterial node tooltip: [X3DOneSidedMaterialNode] UnlitMaterial specifies surface rendering properties for associated geometry nodes. Material attributes are used by the X3D lighting equations during rendering.
- Hint: insert Shape and Appearance nodes before adding material.
- Hint: DEF/USE copies of a single node can provide a similar "look + feel" style for related shapes in a scene.
- Hint: X3D Scene Authoring Hints, Color https://www.web3d.org/x3d/content/examples/X3dSceneAuthoringHints.html#Color
- Hint: X3D Example Archives, Basic, Universal Media Materials https://www.web3d.org/x3d/content/examples/Basic/UniversalMediaMaterials
- Hint: X3D Architecture 17.2.2 Lighting model https://www.web3d.org/specifications/X3Dv4/ISO-IEC19775-1v4-IS /Part01/components/lighting.html#Lightingmodel
- Hint: Rendering https://en.wikipedia.org/wiki/Rendering_(computer_graphics)
- Hint: 3D rendering https://en.wikipedia.org/wiki/3D_rendering
- Hint: Physically based rendering (PBR) https://en.wikipedia.org/wiki/Physically_based_rendering
- Hint: Non-photorealistic rendering (NPR) https://en.wikipedia.org/wiki/Non-photorealistic_rendering
- Hint: Cel shading (toon shading) https://en.wikipedia.org/wiki/Cel_shading
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 TypeMethodDescriptionfloat[]
Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named emissiveColor.Provide org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) from inputOutput SFNode field emissiveTexture.Provide String value from inputOutput SFString field named emissiveTextureMapping.Provide org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.float
Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named normalScale.Provide org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) from inputOutput SFNode field normalTexture.Provide String value from inputOutput SFString field named normalTextureMapping.float
Provide float value within allowed range of [0,1] from inputOutput SFFloat field named transparency.setEmissiveColor
(float[] newValue) Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named emissiveColor.setEmissiveTexture
(X3DSingleTextureNode newValue) Accessor method to assign org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) to inputOutput SFNode field emissiveTexture.setEmissiveTextureMapping
(String newValue) Accessor method to assign String value to inputOutput SFString field named emissiveTextureMapping.setMetadata
(X3DMetadataObject newValue) Accessor method to assign org.web3d.x3d.sai.Core.X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.setNormalScale
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named normalScale.setNormalTexture
(X3DSingleTextureNode newValue) Accessor method to assign org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) to inputOutput SFNode field normalTexture.setNormalTextureMapping
(String newValue) Accessor method to assign String value to inputOutput SFString field named normalTextureMapping.setTransparency
(float newValue) Accessor method to assign float value to inputOutput SFFloat field named transparency.
-
Method Details
-
getEmissiveColor
float[] getEmissiveColor()Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named emissiveColor.
Tooltip: [0,1] how much glowing light is emitted from this object.- Hint: emissiveColors glow even when all lights are off.
- Hint: reset diffuseColor from default (.8 .8 .8) to (0 0 0) to avoid washout.
- Hint: only emissiveColor affects IndexedLineSet, LineSet and PointSet.
- Warning: bright emissiveColor values can wash out other colors and some textures.
- Returns:
- value of emissiveColor field
-
setEmissiveColor
Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named emissiveColor.
Tooltip: [0,1] how much glowing light is emitted from this object.- Hint: emissiveColors glow even when all lights are off.
- Hint: reset diffuseColor from default (.8 .8 .8) to (0 0 0) to avoid washout.
- Hint: only emissiveColor affects IndexedLineSet, LineSet and PointSet.
- Warning: bright emissiveColor values can wash out other colors and some textures.
- Parameters:
newValue
- is new value for the emissiveColor field.- Returns:
UnlitMaterial
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getEmissiveTexture
X3DSingleTextureNode getEmissiveTexture()Provide org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) from inputOutput SFNode field emissiveTexture.
Tooltip: [X3DSingleTextureNode] When applying emissiveColor for this material node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.- Hint: if texture node is NULL or unspecified, no effect is applied to material values.
- Hint: contained texture node must include containerField='emissiveTexture'.
- Returns:
- value of emissiveTexture field
-
setEmissiveTexture
Accessor method to assign org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) to inputOutput SFNode field emissiveTexture.
Tooltip: [X3DSingleTextureNode] When applying emissiveColor for this material node, the contained texture provides Physically Based Rendering (PBR) modulation for each pixel.- Hint: if texture node is NULL or unspecified, no effect is applied to material values.
- Hint: contained texture node must include containerField='emissiveTexture'.
- Parameters:
newValue
- is new value for the emissiveTexture field.- Returns:
UnlitMaterial
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getEmissiveTextureMapping
String getEmissiveTextureMapping()Provide String value from inputOutput SFString field named emissiveTextureMapping.
Tooltip: The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.- Hint: TODO support planned to perform multiple-node mapping validation checks using X3D Schematron or X3D Validator https://savage.nps.edu/X3dValidator
- Specified by:
getEmissiveTextureMapping
in interfaceX3DOneSidedMaterialNode
- Returns:
- value of emissiveTextureMapping field
-
setEmissiveTextureMapping
Accessor method to assign String value to inputOutput SFString field named emissiveTextureMapping.
Tooltip: The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.- Hint: TODO support planned to perform multiple-node mapping validation checks using X3D Schematron or X3D Validator https://savage.nps.edu/X3dValidator
- Specified by:
setEmissiveTextureMapping
in interfaceX3DOneSidedMaterialNode
- Parameters:
newValue
- is new value for the emissiveTextureMapping field.- Returns:
UnlitMaterial
- 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 interfaceX3DMaterialNode
- Specified by:
getMetadata
in interfaceX3DNode
- Specified by:
getMetadata
in interfaceX3DOneSidedMaterialNode
- 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 interfaceX3DMaterialNode
- Specified by:
setMetadata
in interfaceX3DNode
- Specified by:
setMetadata
in interfaceX3DOneSidedMaterialNode
- Parameters:
newValue
- is new value for the metadata field.- Returns:
UnlitMaterial
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).- See Also:
-
getNormalScale
float getNormalScale()Provide float value within allowed range of [0,infinity) from inputOutput SFFloat field named normalScale.
Tooltip: [0,infinity] normalScale controls the degree to which normalTexture RGB values apply XYZ-normal bump mapping to pixels in the parent material.- Hint: normalScale only affects computation of normalTexture modulations that affect lighting of characteristics of the parent Material and has no relation to normal vectors defined by corresponding geometry.
- Hint: normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping
- Specified by:
getNormalScale
in interfaceX3DOneSidedMaterialNode
- Returns:
- value of normalScale field
-
setNormalScale
Accessor method to assign float value to inputOutput SFFloat field named normalScale.
Tooltip: [0,infinity] normalScale controls the degree to which normalTexture RGB values apply XYZ-normal bump mapping to pixels in the parent material.- Hint: normalScale only affects computation of normalTexture modulations that affect lighting of characteristics of the parent Material and has no relation to normal vectors defined by corresponding geometry.
- Hint: normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping
- Specified by:
setNormalScale
in interfaceX3DOneSidedMaterialNode
- Parameters:
newValue
- is new value for the normalScale field.- Returns:
UnlitMaterial
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getNormalTexture
X3DSingleTextureNode getNormalTexture()Provide org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) from inputOutput SFNode field normalTexture.
Tooltip: [X3DSingleTextureNode] When applying normalScale for this material node, the contained texture modulates the texture across the surface.- Hint: normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping
- Hint: if texture node is NULL or unspecified, no effect is applied to material values.
- Hint: contained texture node must include containerField='normalTexture'
- Returns:
- value of normalTexture field
-
setNormalTexture
Accessor method to assign org.web3d.x3d.sai.Texturing.X3DSingleTextureNode instance (using a properly typed node) to inputOutput SFNode field normalTexture.
Tooltip: [X3DSingleTextureNode] When applying normalScale for this material node, the contained texture modulates the texture across the surface.- Hint: normalTexture techniques apply Bump mapping https://en.wikipedia.org/wiki/Bump_mapping
- Hint: if texture node is NULL or unspecified, no effect is applied to material values.
- Hint: contained texture node must include containerField='normalTexture'
- Parameters:
newValue
- is new value for the normalTexture field.- Returns:
UnlitMaterial
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getNormalTextureMapping
String getNormalTextureMapping()Provide String value from inputOutput SFString field named normalTextureMapping.
Tooltip: The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.- Hint: TODO support planned to perform multiple-node mapping validation checks using X3D Schematron or X3D Validator https://savage.nps.edu/X3dValidator
- Specified by:
getNormalTextureMapping
in interfaceX3DOneSidedMaterialNode
- Returns:
- value of normalTextureMapping field
-
setNormalTextureMapping
Accessor method to assign String value to inputOutput SFString field named normalTextureMapping.
Tooltip: The mapping label identifies which texture coordinates and transformations are used to compute texture effects from corresponding geometry on a given material.- Hint: TODO support planned to perform multiple-node mapping validation checks using X3D Schematron or X3D Validator https://savage.nps.edu/X3dValidator
- Specified by:
setNormalTextureMapping
in interfaceX3DOneSidedMaterialNode
- Parameters:
newValue
- is new value for the normalTextureMapping field.- Returns:
UnlitMaterial
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getTransparency
float getTransparency()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named transparency.
Tooltip: [0,1] how "clear" an object is: 1.0 is completely transparent, 0.0 is completely opaque. Interchange profile- Hint: transparency < .5 opaque, transparency > .5 transparent.
- Returns:
- value of transparency field
-
setTransparency
Accessor method to assign float value to inputOutput SFFloat field named transparency.
Tooltip: [0,1] how "clear" an object is: 1.0 is completely transparent, 0.0 is completely opaque. Interchange profile- Hint: transparency < .5 opaque, transparency > .5 transparent.
- Parameters:
newValue
- is new value for the transparency field.- Returns:
UnlitMaterial
- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-