diff --git a/engine/src/core/com/jme3/material/Material.java b/engine/src/core/com/jme3/material/Material.java index 73c928e96..d256c6c68 100644 --- a/engine/src/core/com/jme3/material/Material.java +++ b/engine/src/core/com/jme3/material/Material.java @@ -434,6 +434,17 @@ public class Material implements CloneableSmartAsset, Cloneable, Savable { public Collection getParams() { return paramValues.values(); } + + /** + * Returns the ListMap of all parameters set on this material. + * + * @return a ListMap of all parameters set on this material. + * + * @see #setParam(java.lang.String, com.jme3.shader.VarType, java.lang.Object) + */ + public ListMap getParamsMap() { + return paramValues; + } /** * Check if setting the parameter given the type and name is allowed. @@ -882,6 +893,12 @@ public class Material implements CloneableSmartAsset, Cloneable, Savable { // When choosing technique, we choose one that // supports all the caps. EnumSet rendererCaps = renderManager.getRenderer().getCaps(); + + //workaround, always assume we support GLSL100 + //some cards just don't report this correctly + if( rendererCaps.contains(Caps.GLSL100) == false ) + rendererCaps.add(Caps.GLSL100); + if (tech == null) { if (name.equals("Default")) {