Class Material
Type), a base color, an
optional texture and pipeline RenderState.-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic enumThe built in lighting model used to shade a surface. -
Constructor Summary
ConstructorsConstructorDescriptionMaterial()Creates an unlit white material.Material(Material.Type type) Creates a material of the supplied type. -
Method Summary
Modifier and TypeMethodDescriptionintgetColor()Returns the base color as a packed ARGB integer.intReturns the light the surface gives off by itself, as RGB in an ARGB int; black for none.floatReturns how metallic aType.PBRsurface is, from 0 (a dielectric such as paint, plastic or wood) to 1 (bare metal).Returns the pipeline render state.floatReturns how rough aType.PBRsurface is, from 0 (mirror) to 1 (chalk).Returns a stable string identifying the shader variant required by this material.floatReturns the Phong specular exponent.Returns the diffuse texture, or null when the material is untextured.getType()Returns the lighting model.booleanReturns true if geometry drawn with this material casts a shadow.booleanisLit()Returns true if this material is lit by the directional light.booleanReturns true if the surface is darkened by shadows the light casts.setCastShadows(boolean castShadows) Sets whether geometry drawn with this material casts a shadow.setColor(int argb) Sets the base color as a packed ARGB integer (0xAARRGGBB).setEmissive(int argb) Sets the light the surface gives off by itself: a lamp, a screen, wet paint catching the sun.setMetallic(float metallic) Sets how metallic aType.PBRsurface is.setReceiveShadows(boolean receiveShadows) Sets whether the surface is darkened by the light's shadows.setRenderState(RenderState renderState) Sets the pipeline render state.setRoughness(float roughness) Sets how rough aType.PBRsurface is.setShininess(float shininess) Sets the Phong specular exponent (used only byType.PHONG).setTexture(Texture texture) Sets the diffuse texture.setType(Material.Type type) Sets the lighting model.
-
Constructor Details
-
Material
public Material()Creates an unlit white material. -
Material
Creates a material of the supplied type.
Parameters
type: the lighting model
-
-
Method Details
-
getType
Returns the lighting model. -
setType
Sets the lighting model.
Parameters
type: the lighting model
Returns
this material for chaining
-
getColor
public int getColor()Returns the base color as a packed ARGB integer. -
setColor
Sets the base color as a packed ARGB integer (0xAARRGGBB).
Parameters
argb: the packed ARGB color
Returns
this material for chaining
-
getTexture
Returns the diffuse texture, or null when the material is untextured. -
setTexture
-
getShininess
public float getShininess()Returns the Phong specular exponent. -
setShininess
Sets the Phong specular exponent (used only by
Type.PHONG).Parameters
shininess: the specular exponent
Returns
this material for chaining
-
getRenderState
Returns the pipeline render state. -
setRenderState
Sets the pipeline render state.
Parameters
renderState: the render state
Returns
this material for chaining
-
getMetallic
public float getMetallic()Returns how metallic aType.PBRsurface is, from 0 (a dielectric such as paint, plastic or wood) to 1 (bare metal). -
setMetallic
Sets how metallic a
Type.PBRsurface is.Parameters
metallic: 0 for a dielectric, 1 for metal
Returns
this material for chaining
-
getRoughness
public float getRoughness()Returns how rough aType.PBRsurface is, from 0 (mirror) to 1 (chalk). -
setRoughness
Sets how rough a
Type.PBRsurface is. Rough surfaces spread their highlight wide and dim; smooth ones make it small and bright.Parameters
roughness: 0 for a mirror, 1 for fully diffuse
Returns
this material for chaining
-
getEmissive
public int getEmissive()Returns the light the surface gives off by itself, as RGB in an ARGB int; black for none. -
setEmissive
Sets the light the surface gives off by itself: a lamp, a screen, wet paint catching the sun. Emissive colour is added after lighting and is what a bloom post effect picks up. Used by
Type.PBR,Type.LAMBERTandType.PHONG.Parameters
argb: the emitted colour; black for none
Returns
this material for chaining
-
isReceiveShadows
public boolean isReceiveShadows()Returns true if the surface is darkened by shadows the light casts. -
setReceiveShadows
Sets whether the surface is darkened by the light's shadows. A ground plane receives them; a particle or a muzzle flash should not.
Parameters
receiveShadows: true to receive shadows
Returns
this material for chaining
-
isCastShadows
public boolean isCastShadows()Returns true if geometry drawn with this material casts a shadow. -
setCastShadows
Sets whether geometry drawn with this material casts a shadow. Transparent and unlit effects normally should not.
Parameters
castShadows: true to cast shadows
Returns
this material for chaining
-
isLit
public boolean isLit()Returns true if this material is lit by the directional light. -
getShaderKey
Returns a stable string identifying the shader variant required by this material. Backends use it together with the mesh
VertexFormatto cache generated and compiled shader programs. The key intentionally depends only on properties that change the generated source, not on values such as the color which are passed as uniforms.Returns
a shader variant cache key
-