|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjavax.media.j3d.SceneGraphObject
javax.media.j3d.NodeComponent
javax.media.j3d.Material
public class Material
The Material object defines the appearance of an object under
illumination.
If the Material object in an Appearance object is null
,
lighting is disabled for all nodes that use that Appearance object.
The properties that can be set for a Material object are:
Field Summary | |
---|---|
static int |
ALLOW_COMPONENT_READ
For material object, specifies that Material allows reading individual component field information. |
static int |
ALLOW_COMPONENT_WRITE
For material object, specifies that Material allows reading individual component field information. |
static int |
AMBIENT
Specifies that per-vertex colors replace the ambient material color. |
static int |
AMBIENT_AND_DIFFUSE
Specifies that per-vertex colors replace both the ambient and the diffuse material color. |
static int |
DIFFUSE
Specifies that per-vertex colors replace the diffuse material color. |
static int |
EMISSIVE
Specifies that per-vertex colors replace the emissive material color. |
private static int[] |
readCapabilities
|
static int |
SPECULAR
Specifies that per-vertex colors replace the specular material color. |
Fields inherited from class javax.media.j3d.NodeComponent |
---|
forceDuplicate |
Fields inherited from class javax.media.j3d.SceneGraphObject |
---|
nodeHashtable, retained |
Constructor Summary | |
---|---|
Material()
Constructs and initializes a Material object using default parameters. |
|
Material(Color3f ambientColor,
Color3f emissiveColor,
Color3f diffuseColor,
Color3f specularColor,
float shininess)
Constructs and initializes a new material object using the specified parameters. |
Method Summary | |
---|---|
NodeComponent |
cloneNodeComponent()
Deprecated. replaced with cloneNodeComponent(boolean forceDuplicate) |
(package private) void |
createRetained()
Creates a retained mode MaterialRetained object that this Material component object will point to. |
(package private) void |
duplicateAttributes(NodeComponent originalNodeComponent,
boolean forceDuplicate)
Copies all node information from originalNodeComponent into
the current node. |
void |
getAmbientColor(Color3f color)
Retrieves this material's ambient color. |
int |
getColorTarget()
Retrieves the current color target for this material. |
void |
getDiffuseColor(Color3f color)
Retrieves this material's diffuse color. |
void |
getEmissiveColor(Color3f color)
Retrieves this material's emissive color and stores it in the argument provided. |
boolean |
getLightingEnable()
Retrieves the state of the lighting enable flag. |
float |
getShininess()
Retrieves this material's shininess. |
void |
getSpecularColor(Color3f color)
Retrieves this material's specular color. |
void |
setAmbientColor(Color3f color)
Sets this material's ambient color. |
void |
setAmbientColor(float r,
float g,
float b)
Sets this material's ambient color. |
void |
setColorTarget(int colorTarget)
Sets the color target for per-vertex colors. |
void |
setDiffuseColor(Color3f color)
Sets this material's diffuse color. |
void |
setDiffuseColor(float r,
float g,
float b)
Sets this material's diffuse color. |
void |
setDiffuseColor(float r,
float g,
float b,
float a)
Sets this material's diffuse color plus alpha. |
void |
setEmissiveColor(Color3f color)
Sets this material's emissive color. |
void |
setEmissiveColor(float r,
float g,
float b)
Sets this material's emissive color. |
void |
setLightingEnable(boolean state)
Enables or disables lighting for this appearance component object. |
void |
setShininess(float shininess)
Sets this material's shininess. |
void |
setSpecularColor(Color3f color)
Sets this material's specular color. |
void |
setSpecularColor(float r,
float g,
float b)
Sets this material's specular color. |
java.lang.String |
toString()
Returns a String representation of this Materials values. |
Methods inherited from class javax.media.j3d.NodeComponent |
---|
checkDuplicateNodeComponent, cloneNodeComponent, duplicateChild, duplicateNodeComponent, duplicateNodeComponent, getDuplicateOnCloneTree, setDuplicateOnCloneTree, validateImageIllegalSharing |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final int ALLOW_COMPONENT_READ
public static final int ALLOW_COMPONENT_WRITE
public static final int AMBIENT
setColorTarget(int)
,
Constant Field Valuespublic static final int EMISSIVE
setColorTarget(int)
,
Constant Field Valuespublic static final int DIFFUSE
setColorTarget(int)
,
Constant Field Valuespublic static final int SPECULAR
setColorTarget(int)
,
Constant Field Valuespublic static final int AMBIENT_AND_DIFFUSE
setColorTarget(int)
,
Constant Field Valuesprivate static final int[] readCapabilities
Constructor Detail |
---|
public Material()
public Material(Color3f ambientColor, Color3f emissiveColor, Color3f diffuseColor, Color3f specularColor, float shininess)
ambientColor
- the material's ambient coloremissiveColor
- the material's emissive colordiffuseColor
- the material's diffuse color when illuminated by a
lightspecularColor
- the material's specular color when illuminated
to generate a highlightshininess
- the material's shininess in the
range [1.0, 128.0] with 1.0 being not shiny and 128.0 being very shiny.
Values outside this range are clamped.Method Detail |
---|
void createRetained()
createRetained
in class NodeComponent
public void setAmbientColor(Color3f color)
color
- the material's ambient color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void setAmbientColor(float r, float g, float b)
r
- the new ambient color's red componentg
- the new ambient color's green componentb
- the new ambient color's blue component
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void getAmbientColor(Color3f color)
color
- that will contain the material's ambient color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setEmissiveColor(Color3f color)
color
- the new emissive color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void setEmissiveColor(float r, float g, float b)
r
- the new emissive color's red componentg
- the new emissive color's green componentb
- the new emissive color's blue component
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void getEmissiveColor(Color3f color)
color
- the vector that will receive this material's emissive color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setDiffuseColor(Color3f color)
color
- the new diffuse color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void setDiffuseColor(float r, float g, float b)
r
- the new diffuse color's red componentg
- the new diffuse color's green componentb
- the new diffuse color's blue component
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void setDiffuseColor(float r, float g, float b, float a)
r
- the new diffuse color's red componentg
- the new diffuse color's green componentb
- the new diffuse color's blue componenta
- the alpha component used to set transparency
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void getDiffuseColor(Color3f color)
color
- the vector that will receive this material's diffuse color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setSpecularColor(Color3f color)
color
- the new specular color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void setSpecularColor(float r, float g, float b)
r
- the new specular color's red componentg
- the new specular color's green componentb
- the new specular color's blue component
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
setColorTarget(int)
public void getSpecularColor(Color3f color)
color
- the vector that will receive this material's specular color
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setShininess(float shininess)
shininess
- the material's shininess
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic float getShininess()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setLightingEnable(boolean state)
state
- true or false to enable or disable lighting
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic boolean getLightingEnable()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic void setColorTarget(int colorTarget)
colorTarget
- one of: AMBIENT, EMISSIVE, DIFFUSE, SPECULAR, or
AMBIENT_AND_DIFFUSE.
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphRenderingAttributes.setIgnoreVertexColors(boolean)
,
ColorInterpolator
public int getColorTarget()
CapabilityNotSetException
- if appropriate capability is
not set and this object is part of live or compiled scene graphpublic java.lang.String toString()
toString
in class SceneGraphObject
public NodeComponent cloneNodeComponent()
cloneNodeComponent
in class NodeComponent
void duplicateAttributes(NodeComponent originalNodeComponent, boolean forceDuplicate)
originalNodeComponent
into
the current node. This method is called from the
duplicateNode
method. This routine does
the actual duplication of all "local data" (any data defined in
this object).
duplicateAttributes
in class NodeComponent
originalNodeComponent
- the original node to duplicate.forceDuplicate
- when set to true
, causes the
duplicateOnCloneTree
flag to be ignored. When
false
, the value of each node's
duplicateOnCloneTree
variable determines whether
NodeComponent data is duplicated or copied.Node.cloneTree()
,
NodeComponent.setDuplicateOnCloneTree(boolean)
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |