Package org.web3d.x3d.sai.Shape
Interface Material
- All Superinterfaces:
X3DAppearanceChildNode,X3DMaterialNode,X3DNode
- All Known Implementing Classes:
MaterialObject
public interface Material extends X3DMaterialNode
Material specifies surface rendering properties for associated geometry nodes.
X3D node tooltip: [X3DMaterialNode] Material specifies surface rendering properties for associated geometry nodes. Material attributes are used by the X3D lighting equations during rendering.
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
X3D node tooltip: [X3DMaterialNode] Material 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/documents/specifications/19775-1/V3.3/Part01/components/lighting.html#Lightingmodel
Package hint: This interface is defined by the X3D Java Language Binding Specification for the Scene Authoring Interface (SAI).
-
Method Summary
Modifier and Type Method Description floatgetAmbientIntensity()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named ambientIntensity.float[]getDiffuseColor()Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named diffuseColor.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.X3DMetadataObjectgetMetadata()Provide X3DMetadataObject instance (using a properly typed node) from inputOutput SFNode field metadata.floatgetShininess()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named shininess.float[]getSpecularColor()Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named specularColor.floatgetTransparency()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named transparency.MaterialsetAmbientIntensity(float newValue)Accessor method to assign float value to inputOutput SFFloat field named ambientIntensity.MaterialsetDiffuseColor(float[] newValue)Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named diffuseColor.MaterialsetEmissiveColor(float[] newValue)Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named emissiveColor.MaterialsetMetadata(X3DMetadataObject newValue)Accessor method to assign X3DMetadataObject instance (using a properly typed node) to inputOutput SFNode field metadata.MaterialsetShininess(float newValue)Accessor method to assign float value to inputOutput SFFloat field named shininess.MaterialsetSpecularColor(float[] newValue)Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named specularColor.MaterialsetTransparency(float newValue)Accessor method to assign float value to inputOutput SFFloat field named transparency.
-
Method Details
-
getAmbientIntensity
float getAmbientIntensity()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named ambientIntensity.
Tooltip: [0,1] how much ambient omnidirectional light is reflected from all light sources. Interchange profile hint: this field may be ignored, applying the default value regardless. *- Returns:
- value of ambientIntensity field
-
setAmbientIntensity
Accessor method to assign float value to inputOutput SFFloat field named ambientIntensity.
Tooltip: [0,1] how much ambient omnidirectional light is reflected from all light sources. Interchange profile hint: this field may be ignored, applying the default value regardless. *- Parameters:
newValue- is new value for the ambientIntensity field.- Returns:
Material- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getDiffuseColor
float[] getDiffuseColor()Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named diffuseColor.
Tooltip: [0,1] how much direct, angle-dependent light is reflected from all light sources.- Hint: only emissiveColor affects IndexedLineSet, LineSet and PointSet.
- Returns:
- value of diffuseColor field
-
setDiffuseColor
Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named diffuseColor.
Tooltip: [0,1] how much direct, angle-dependent light is reflected from all light sources.- Hint: only emissiveColor affects IndexedLineSet, LineSet and PointSet.
- Parameters:
newValue- is new value for the diffuseColor field.- Returns:
Material- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
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:
Material- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getMetadata
X3DMetadataObject getMetadata()Provide 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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
getMetadatain interfaceX3DAppearanceChildNode- Specified by:
getMetadatain interfaceX3DMaterialNode- Specified by:
getMetadatain interfaceX3DNode- Returns:
- value of metadata field
- See Also:
- X3D Scene Authoring Hints: Metadata Nodes
-
setMetadata
Accessor method to assign 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/documents/specifications/19775-1/V3.3/Part01/components/core.html#Metadata
- Specified by:
setMetadatain interfaceX3DAppearanceChildNode- Specified by:
setMetadatain interfaceX3DMaterialNode- Specified by:
setMetadatain interfaceX3DNode- Parameters:
newValue- is new value for the metadata field.- Returns:
Material- 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
-
getShininess
float getShininess()Provide float value within allowed range of [0,1] from inputOutput SFFloat field named shininess.
Tooltip: [0,1] Lower shininess values provide soft specular glows, while higher values result in sharper, smaller highlights. Interchange profile hint: this field may be ignored, applying the default value regardless. *- Returns:
- value of shininess field
-
setShininess
Accessor method to assign float value to inputOutput SFFloat field named shininess.
Tooltip: [0,1] Lower shininess values provide soft specular glows, while higher values result in sharper, smaller highlights. Interchange profile hint: this field may be ignored, applying the default value regardless. *- Parameters:
newValue- is new value for the shininess field.- Returns:
Material- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-
getSpecularColor
float[] getSpecularColor()Provide array of 3-tuple float results using RGB values [0..1] using RGB values [0..1] from inputOutput SFColor field named specularColor.
Tooltip: [0,1] specular highlights are brightness reflections (example: shiny spots on an apple). Interchange profile hint: this field may be ignored, applying the default value regardless. *- Returns:
- value of specularColor field
-
setSpecularColor
Accessor method to assign 3-tuple float array using RGB values [0..1] to inputOutput SFColor field named specularColor.
Tooltip: [0,1] specular highlights are brightness reflections (example: shiny spots on an apple). Interchange profile hint: this field may be ignored, applying the default value regardless. *- Parameters:
newValue- is new value for the specularColor field.- Returns:
Material- 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:
Material- namely this same object to allow sequential method pipelining (i.e. consecutive method invocations on the same object).
-