public final class Material
- Object
- Material
A declarative description of how a surface should be shaded. The 3D engine is
responsible for translating a material into a platform shader (GLSL on OpenGL
ES and WebGL, Metal Shading Language on iOS); applications never write shader
source. A material combines a lighting model (
Type), a base color, an
optional texture and pipeline RenderState.Nested types
enum Material.Type | The built in lighting model used to shade a surface. |
Constructors
public Material() | Creates an unlit white material. |
public Material(Material.Type type) | Creates a material of the supplied type. |
Methods
public Material.Type getType() | Returns the lighting model. |
public Material setType(Material.Type type) | Sets the lighting model. |
public int getColor() | Returns the base color as a packed ARGB integer. |
public Material setColor(int argb) | Sets the base color as a packed ARGB integer (0xAARRGGBB). |
public Texture getTexture() | Returns the diffuse texture, or null when the material is untextured. |
public Material setTexture(Texture texture) | Sets the diffuse texture. |
public float getShininess() | Returns the Phong specular exponent. |
public Material setShininess(float shininess) | Sets the Phong specular exponent (used only by Type.PHONG). |
public RenderState getRenderState() | Returns the pipeline render state. |
public Material setRenderState(RenderState renderState) | Sets the pipeline render state. |
public String getShaderKey() | Returns a stable string identifying the shader variant required by this material. |
Inherited methods
Constructor details
Material
public Material()Creates an unlit white material.
Material
public Material(Material.Type type)Creates a material of the supplied type.
Parameters
typeMaterial.Type- the lighting model
Method details
getType
public Material.Type getType()Returns the lighting model.
setType
public Material setType(Material.Type type)Sets the lighting model.
Parameters
typeMaterial.Type- the lighting model
Returns
this material for chaining
getColor
public int getColor()Returns the base color as a packed ARGB integer.
setColor
public Material setColor(int argb)Sets the base color as a packed ARGB integer (0xAARRGGBB).
Parameters
argbint- the packed ARGB color
Returns
this material for chaining
getTexture
public Texture getTexture()Returns the diffuse texture, or null when the material is untextured.
setTexture
public Material setTexture(Texture texture)Sets the diffuse texture. Pass null for an untextured material.
Parameters
textureTexture- the diffuse texture or null
Returns
this material for chaining
getShininess
public float getShininess()Returns the Phong specular exponent.
setShininess
public Material setShininess(float shininess)Sets the Phong specular exponent (used only by
Type.PHONG).Parameters
shininessfloat- the specular exponent
Returns
this material for chaining
getRenderState
public RenderState getRenderState()Returns the pipeline render state.
setRenderState
public Material setRenderState(RenderState renderState)Sets the pipeline render state.
Parameters
renderStateRenderState- the render state
Returns
this material for chaining
getShaderKey
public String getShaderKey()Returns a stable string identifying the shader variant required by this
material. Backends use it together with the mesh
VertexFormat to 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