Package com.jme3.material
Class MatParamOverride
java.lang.Object
com.jme3.material.MatParam
com.jme3.material.MatParamOverride
MatParamOverride is a mechanism by which
 material parameters can be overridden on the scene graph.
 
 A scene branch which has a MatParamOverride applied to it will
 cause all material parameters with the same name and type to have their value
 replaced with the value set on the MatParamOverride. If those
 parameters are mapped to a define, then the define will be overridden as well
 using the same rules as the ones used for regular material parameters.
 
 MatParamOverrides are applied to a Spatial via the
 Spatial.addMatParamOverride(com.jme3.material.MatParamOverride)
 method. They are propagated to child Spatials via
 Spatial.updateGeometricState() similar to how lights are propagated.
 
 Example:
 
 
 Geometry box = new Geometry("Box", new Box(1,1,1));
 Material mat = new Material(assetManager, "Common/MatDefs/Misc/Unshaded.j3md");
 mat.setColor("Color", ColorRGBA.Blue);
 box.setMaterial(mat);
 rootNode.attachChild(box);
 // ... later ...
 MatParamOverride override = new MatParamOverride(Type.Vector4, "Color", ColorRGBA.Red);
 rootNode.addMatParamOverride(override);
 // After adding the override to the root node, the box becomes red.
 
 - See Also:
- 
Field Summary
- 
Constructor SummaryConstructorsModifierConstructorDescriptionprotectedSerialization only.MatParamOverride(VarType type, String name, Object value) Create a newMatParamOverride.
- 
Method SummaryModifier and TypeMethodDescriptionbooleaninthashCode()booleanDetermine if theMatParamOverrideis enabled or disabled.voidread(JmeImporter im) voidsetEnabled(boolean enabled) Enable or disable thisMatParamOverride.voidwrite(JmeExporter ex) Methods inherited from class com.jme3.material.MatParamclone, getName, getPrefixedName, getValue, getValueAsString, getVarType, isTypeCheckEnabled, setTypeCheckEnabled, setValue, toString
- 
Constructor Details- 
MatParamOverrideprotected MatParamOverride()Serialization only. Do not use.
- 
MatParamOverrideCreate a newMatParamOverride. Overrides are created enabled by default.- Parameters:
- type- The type of parameter.
- name- The name of the parameter.
- value- The value to set the material parameter to.
 
 
- 
- 
Method Details- 
equals
- 
hashCodepublic int hashCode()
- 
isEnabledpublic boolean isEnabled()Determine if theMatParamOverrideis enabled or disabled.- Returns:
- true if enabled, false if disabled.
- See Also:
 
- 
setEnabledpublic void setEnabled(boolean enabled) Enable or disable thisMatParamOverride. When disabled, the override will continue to propagate through the scene graph like before, but it will have no effect on materials. Overrides are enabled by default.- Parameters:
- enabled- Whether to enable or disable this override.
 
- 
write- Specified by:
- writein interface- Savable
- Overrides:
- writein class- MatParam
- Throws:
- IOException
 
- 
read- Specified by:
- readin interface- Savable
- Overrides:
- readin class- MatParam
- Throws:
- IOException
 
 
-