|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.jme3.material.TechniqueDef
public class TechniqueDef
Describes a technique definition.
Nested Class Summary | |
---|---|
static class |
TechniqueDef.LightMode
Describes light rendering mode. |
static class |
TechniqueDef.ShadowMode
|
Field Summary | |
---|---|
static int |
SAVABLE_VERSION
Version #1: Separate shader language for each shader source. |
Constructor Summary | |
---|---|
TechniqueDef()
Serialization only. |
|
TechniqueDef(java.lang.String name)
Creates a new technique definition. |
Method Summary | |
---|---|
void |
addShaderParamDefine(java.lang.String paramName,
java.lang.String defineName)
Adds a define linked to a material parameter. |
void |
addShaderPresetDefine(java.lang.String defineName,
VarType type,
java.lang.Object value)
Adds a preset define. |
boolean |
addWorldParam(java.lang.String name)
Adds a new world parameter by the given name. |
java.lang.String |
getFragmentShaderLanguage()
Returns the language of the fragment shader used in this technique. |
java.lang.String |
getFragmentShaderName()
Returns the name of the fragment shader used by the technique, or null if no fragment shader is specified. |
TechniqueDef.LightMode |
getLightMode()
Returns the light mode. |
java.lang.String |
getName()
Returns the name of this technique as specified in the J3MD file. |
RenderState |
getRenderState()
Returns the render state that this technique is using |
java.util.EnumSet<Caps> |
getRequiredCaps()
Gets the renderer capabilities that are required
by this technique. |
java.lang.String |
getShaderLanguage()
Deprecated. Use getVertexShaderLanguage() instead. |
java.lang.String |
getShaderParamDefine(java.lang.String paramName)
Returns the define name which the given material parameter influences. |
DefineList |
getShaderPresetDefines()
Returns the DefineList for the preset defines. |
TechniqueDef.ShadowMode |
getShadowMode()
Returns the shadow mode. |
java.lang.String |
getVertexShaderLanguage()
Returns the language of the vertex shader used in this technique. |
java.lang.String |
getVertexShaderName()
Returns the name of the vertex shader used by the technique, or null if no vertex shader is specified. |
java.util.List<UniformBinding> |
getWorldBindings()
Returns a list of world parameters that are used by this technique definition. |
boolean |
isUsingShaders()
Returns true if this technique uses shaders, false otherwise. |
void |
read(JmeImporter im)
|
void |
setLightMode(TechniqueDef.LightMode lightMode)
Set the light mode |
void |
setRenderState(RenderState renderState)
Sets the render state that this technique is using. |
void |
setShaderFile(java.lang.String vertexShader,
java.lang.String fragmentShader,
java.lang.String vertLanguage,
java.lang.String fragLanguage)
Sets the shaders that this technique definition will use. |
void |
setShadowMode(TechniqueDef.ShadowMode shadowMode)
Set the shadow mode. |
void |
write(JmeExporter ex)
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int SAVABLE_VERSION
Constructor Detail |
---|
public TechniqueDef(java.lang.String name)
Used internally by the J3M/J3MD loader.
name
- The name of the technique, should be set to null
for default techniques.public TechniqueDef()
Method Detail |
---|
public java.lang.String getName()
public TechniqueDef.LightMode getLightMode()
TechniqueDef.LightMode
public void setLightMode(TechniqueDef.LightMode lightMode)
lightMode
- the light modeTechniqueDef.LightMode
public TechniqueDef.ShadowMode getShadowMode()
public void setShadowMode(TechniqueDef.ShadowMode shadowMode)
shadowMode
- the shadow mode.TechniqueDef.ShadowMode
public RenderState getRenderState()
setRenderState(com.jme3.material.RenderState)
public void setRenderState(RenderState renderState)
renderState
- the render state that this technique is using.RenderState
public boolean isUsingShaders()
#setShaderFile(java.lang.String, java.lang.String, java.lang.String)
public java.util.EnumSet<Caps> getRequiredCaps()
renderer capabilities
that are required
by this technique.
public void setShaderFile(java.lang.String vertexShader, java.lang.String fragmentShader, java.lang.String vertLanguage, java.lang.String fragLanguage)
vertexShader
- The name of the vertex shaderfragmentShader
- The name of the fragment shadershaderLanguage
- The shader languagepublic java.lang.String getShaderParamDefine(java.lang.String paramName)
paramName
- The parameter name to look up
addShaderParamDefine(java.lang.String, java.lang.String)
public void addShaderParamDefine(java.lang.String paramName, java.lang.String defineName)
Any time the material parameter on the parent material is altered,
the appropriate define on the technique will be modified as well.
See the method
DefineList.set(java.lang.String, com.jme3.shader.VarType, java.lang.Object)
on the exact details of how the material parameter changes the define.
paramName
- The name of the material parameter to link to.defineName
- The name of the define parameter, e.g. USE_LIGHTINGpublic DefineList getShaderPresetDefines()
DefineList
for the preset defines.
DefineList
for the preset defines.addShaderPresetDefine(java.lang.String, com.jme3.shader.VarType, java.lang.Object)
public void addShaderPresetDefine(java.lang.String defineName, VarType type, java.lang.Object value)
Preset defines do not depend upon any parameters to be activated, they are always passed to the shader as long as this technique is used.
defineName
- The name of the define parameter, e.g. USE_LIGHTINGtype
- The type of the define. See
DefineList.set(java.lang.String, com.jme3.shader.VarType, java.lang.Object)
to see why it matters.value
- The value of the definepublic java.lang.String getFragmentShaderName()
public java.lang.String getVertexShaderName()
@Deprecated public java.lang.String getShaderLanguage()
getVertexShaderLanguage()
instead.
public java.lang.String getFragmentShaderLanguage()
public java.lang.String getVertexShaderLanguage()
public boolean addWorldParam(java.lang.String name)
name
- The world parameter to add.
public java.util.List<UniformBinding> getWorldBindings()
public void write(JmeExporter ex) throws java.io.IOException
write
in interface Savable
java.io.IOException
public void read(JmeImporter im) throws java.io.IOException
read
in interface Savable
java.io.IOException
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |