com.jme3.material
クラス Material

java.lang.Object
  上位を拡張 com.jme3.material.Material
すべての実装されたインタフェース:
Asset, Savable, java.lang.Cloneable, java.lang.Comparable<Material>

public class Material
extends java.lang.Object
implements Asset, java.lang.Cloneable, Savable, java.lang.Comparable<Material>

Material describes the rendering style for a given Geometry.

A material is essentially a list of {


コンストラクタの概要
Material()
          Do not use this constructor.
Material(AssetManager contentMan, java.lang.String defName)
           
Material(MaterialDef def)
           
 
メソッドの概要
 void clearParam(java.lang.String name)
          Clear a parameter from this material.
 Material clone()
          Clones this material.
 int compareTo(Material m)
          Uses the sorting ID for each material to compare them.
 Technique getActiveTechnique()
          Returns the currently active technique.
 RenderState getAdditionalRenderState()
          Acquire the additional render state to apply for this material.
 java.lang.String getAssetName()
          Returns the asset key name of the asset from which this material was loaded.
 AssetKey getKey()
           
 MaterialDef getMaterialDef()
          Get the material definition (j3md file info) that this material is implementing.
 MatParam getParam(java.lang.String name)
          Returns the parameter set on this material with the given name, returns null if the parameter is not set.
 java.util.Collection<MatParam> getParams()
          Returns a collection of all parameters set on this material.
 int getSortId()
          Returns the sorting ID or sorting index for this material.
 MatParamTexture getTextureParam(java.lang.String name)
          Returns the texture parameter set on this material with the given name, returns null if the parameter is not set.
 boolean isReceivesShadows()
          Check if the material should receive shadows or not.
 boolean isTransparent()
          Check if the transparent value marker is set on this material.
 void preload(RenderManager rm)
          Preloads this material for the given render manager.
 void read(JmeImporter im)
           
 void render(Geometry geom, RenderManager rm)
          Called by RenderManager to render the geometry by using this material.
 void selectTechnique(java.lang.String name, RenderManager renderManager)
          Select the technique to use for rendering this material.
 void setBoolean(java.lang.String name, boolean value)
          Pass a boolean to the material shader.
 void setColor(java.lang.String name, ColorRGBA value)
          Pass a Color to the material shader.
 void setFloat(java.lang.String name, float value)
          Pass a float to the material shader.
 void setInt(java.lang.String name, int value)
          Pass an int to the material shader.
 void setKey(AssetKey key)
           
 void setMatrix4(java.lang.String name, Matrix4f value)
          Pass a Matrix4f to the material shader.
 void setParam(java.lang.String name, VarType type, java.lang.Object value)
          Pass a parameter to the material shader.
 void setReceivesShadows(boolean receivesShadows)
          Set if the material should receive shadows or not.
 void setTexture(java.lang.String name, Texture value)
          Pass a texture to the material shader.
 void setTextureParam(java.lang.String name, VarType type, Texture value)
          Set a texture parameter.
 void setTransparent(boolean transparent)
          Set the transparent value marker.
 void setVector2(java.lang.String name, Vector2f value)
          Pass a Vector2f to the material shader.
 void setVector3(java.lang.String name, Vector3f value)
          Pass a Vector3f to the material shader.
 void setVector4(java.lang.String name, Vector4f value)
          Pass a Vector4f to the material shader.
 void write(JmeExporter ex)
           
 
クラス java.lang.Object から継承されたメソッド
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

コンストラクタの詳細

Material

public Material(MaterialDef def)

Material

public Material(AssetManager contentMan,
                java.lang.String defName)

Material

public Material()
Do not use this constructor. Serialization purposes only.

メソッドの詳細

getAssetName

public java.lang.String getAssetName()
Returns the asset key name of the asset from which this material was loaded.

This value will be null unless this material was loaded from a .j3m file.

戻り値:
Asset key name of the j3m file

setKey

public void setKey(AssetKey key)
定義:
インタフェース Asset 内の setKey

getKey

public AssetKey getKey()
定義:
インタフェース Asset 内の getKey

getSortId

public int getSortId()
Returns the sorting ID or sorting index for this material.

The sorting ID is used internally by the system to sort rendering of geometries. It sorted to reduce shader switches, if the shaders are equal, then it is sorted by textures.

戻り値:
The sorting ID used for sorting geometries for rendering.

compareTo

public int compareTo(Material m)
Uses the sorting ID for each material to compare them.

定義:
インタフェース java.lang.Comparable<Material> 内の compareTo
パラメータ:
m - The other material to compare to.
戻り値:
zero if the materials are equal, returns a negative value if this has a lower sorting ID than m, otherwise returns a positive value.

clone

public Material clone()
Clones this material. The result is returned.

オーバーライド:
クラス java.lang.Object 内の clone

getActiveTechnique

public Technique getActiveTechnique()
Returns the currently active technique.

The technique is selected automatically by the RenderManager based on system capabilities. Users may select their own technique by using selectTechnique(java.lang.String, com.jme3.renderer.RenderManager).

戻り値:
the currently active technique.
関連項目:
selectTechnique(java.lang.String, com.jme3.renderer.RenderManager)

isTransparent

public boolean isTransparent()
Check if the transparent value marker is set on this material.

戻り値:
True if the transparent value marker is set on this material.
関連項目:
setTransparent(boolean)

setTransparent

public void setTransparent(boolean transparent)
Set the transparent value marker.

This value is merely a marker, by itself it does nothing. Generally model loaders will use this marker to indicate further up that the material is transparent and therefore any geometries using it should be put into the transparent bucket.

パラメータ:
transparent - the transparent value marker.

isReceivesShadows

public boolean isReceivesShadows()
Check if the material should receive shadows or not.

戻り値:
True if the material should receive shadows.
関連項目:
setReceivesShadows(boolean)

setReceivesShadows

public void setReceivesShadows(boolean receivesShadows)
Set if the material should receive shadows or not.

This value is merely a marker, by itself it does nothing. Generally model loaders will use this marker to indicate the material should receive shadows and therefore any geometries using it should have the RenderQueue.ShadowMode.Receive set on them.

パラメータ:
receivesShadows - if the material should receive shadows or not.

getAdditionalRenderState

public RenderState getAdditionalRenderState()
Acquire the additional render state to apply for this material.

The first call to this method will create an additional render state which can be modified by the user to apply any render states in addition to the ones used by the renderer. Only render states which are modified in the additional render state will be applied.

戻り値:
The additional render state.

getMaterialDef

public MaterialDef getMaterialDef()
Get the material definition (j3md file info) that this material is implementing.

戻り値:
the material definition this material implements.

getParam

public MatParam getParam(java.lang.String name)
Returns the parameter set on this material with the given name, returns null if the parameter is not set.

パラメータ:
name - The parameter name to look up.
戻り値:
The MatParam if set, or null if not set.

getTextureParam

public MatParamTexture getTextureParam(java.lang.String name)
Returns the texture parameter set on this material with the given name, returns null if the parameter is not set.

パラメータ:
name - The parameter name to look up.
戻り値:
The MatParamTexture if set, or null if not set.

getParams

public java.util.Collection<MatParam> getParams()
Returns a collection of all parameters set on this material.

戻り値:
a collection of all parameters set on this material.
関連項目:
setParam(java.lang.String, com.jme3.shader.VarType, java.lang.Object)

setParam

public void setParam(java.lang.String name,
                     VarType type,
                     java.lang.Object value)
Pass a parameter to the material shader.

パラメータ:
name - the name of the parameter defined in the material definition (j3md)
type - the type of the parameter VarType
value - the value of the parameter

clearParam

public void clearParam(java.lang.String name)
Clear a parameter from this material. The parameter must exist

パラメータ:
name - the name of the parameter to clear

setTextureParam

public void setTextureParam(java.lang.String name,
                            VarType type,
                            Texture value)
Set a texture parameter.

パラメータ:
name - The name of the parameter
type - The variable type VarType
value - The texture value of the parameter.
例外:
java.lang.IllegalArgumentException - is value is null

setTexture

public void setTexture(java.lang.String name,
                       Texture value)
Pass a texture to the material shader.

パラメータ:
name - the name of the texture defined in the material definition (j3md) (for example Texture for Lighting.j3md)
value - the Texture object previously loaded by the asset manager

setMatrix4

public void setMatrix4(java.lang.String name,
                       Matrix4f value)
Pass a Matrix4f to the material shader.

パラメータ:
name - the name of the matrix defined in the material definition (j3md)
value - the Matrix4f object

setBoolean

public void setBoolean(java.lang.String name,
                       boolean value)
Pass a boolean to the material shader.

パラメータ:
name - the name of the boolean defined in the material definition (j3md)
value - the boolean value

setFloat

public void setFloat(java.lang.String name,
                     float value)
Pass a float to the material shader.

パラメータ:
name - the name of the float defined in the material definition (j3md)
value - the float value

setInt

public void setInt(java.lang.String name,
                   int value)
Pass an int to the material shader.

パラメータ:
name - the name of the int defined in the material definition (j3md)
value - the int value

setColor

public void setColor(java.lang.String name,
                     ColorRGBA value)
Pass a Color to the material shader.

パラメータ:
name - the name of the color defined in the material definition (j3md)
value - the ColorRGBA value

setVector2

public void setVector2(java.lang.String name,
                       Vector2f value)
Pass a Vector2f to the material shader.

パラメータ:
name - the name of the Vector2f defined in the material definition (j3md)
value - the Vector2f value

setVector3

public void setVector3(java.lang.String name,
                       Vector3f value)
Pass a Vector3f to the material shader.

パラメータ:
name - the name of the Vector3f defined in the material definition (j3md)
value - the Vector3f value

setVector4

public void setVector4(java.lang.String name,
                       Vector4f value)
Pass a Vector4f to the material shader.

パラメータ:
name - the name of the Vector4f defined in the material definition (j3md)
value - the Vector4f value

selectTechnique

public void selectTechnique(java.lang.String name,
                            RenderManager renderManager)
Select the technique to use for rendering this material.

If name is "Default", then one of the default techniques on the material will be selected. Otherwise, the named technique will be found in the material definition.

Any candidate technique for selection (either default or named) must be verified to be compatible with the system, for that, the renderManager is queried for capabilities.

パラメータ:
name - The name of the technique to select, pass "Default" to select one of the default techniques.
renderManager - The render manager to query for capabilities.
例外:
java.lang.IllegalArgumentException - If "Default" is passed and no default techniques are available on the material definition, or if a name is passed but there's no technique by that name.
java.lang.UnsupportedOperationException - If no candidate technique supports the system capabilities.

preload

public void preload(RenderManager rm)
Preloads this material for the given render manager.

Preloading the material can ensure that when the material is first used for rendering, there won't be any delay since the material has been already been setup for rendering.

パラメータ:
rm - The render manager to preload for

render

public void render(Geometry geom,
                   RenderManager rm)
Called by RenderManager to render the geometry by using this material.

パラメータ:
geom - The geometry to render
rm - The render manager requesting the rendering

write

public void write(JmeExporter ex)
           throws java.io.IOException
定義:
インタフェース Savable 内の write
例外:
java.io.IOException

read

public void read(JmeImporter im)
          throws java.io.IOException
定義:
インタフェース Savable 内の read
例外:
java.io.IOException