blob: 9af9cc843d759d2a5a33bc9090b19f6c534c07eb [file] [log] [blame]
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title></title>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
</head>
<body>
The <code>com.jme3.material</code> package contains classes for manipulating
jMonkeyEngine materials.
Materials are applied to {@link com.jme3.scene.Geometry geometries} in the
scene.
Each geometry has a single material which is used to render that
geometry.
<p>
Materials (also known as material instances) are extended from
material definitions.
<h3>Material definitions</h3>
<p>
Material definitions provide the "logic" for the material. Usually a shader that
will handle drawing the object, and corresponding parameters that allow
configuration of the shader.
Material definitions can be created through J3MD files.
The J3MD file abstracts the shader and its configuration away from the user, allowing a
simple interface where one can simply set a few parameters on the material to change its
appearance and the way its handled.
<h3>Techniques</h3>
<p>
Techniques specify a specific way of rendering a material. Typically
a technique is used to implement the same material for each configuration
of the system. For GPUs that do not support shaders, a "fixed function pipeline"
technique could exist to take care of rendering for that configuration
<h3>Render states</h3>
<p>
See {@link com.jme3.material.RenderState}.
<h3>Example Usage</h3>
<p>
Creating a textured material
<code>
// Create a material instance
Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
// Load the texture.
Texture tex = assetManager.loadTexture("Textures/Test/Test.jpg");
// Set the parameters
mat.setTexture("ColorMap", tex);
</code>
</body>
</html>