Sfoglia il codice sorgente

j3md Fix for default textures (#1052)

Riccardo Balbo 6 anni fa
parent
commit
37ee57e845

+ 4 - 2
jme3-core/src/main/java/com/jme3/material/MaterialDef.java

@@ -38,6 +38,7 @@ import com.jme3.texture.image.ColorSpace;
 import java.util.*;
 import java.util.logging.Level;
 import java.util.logging.Logger;
+import com.jme3.texture.Texture;
 
 /**
  * Describes a J3MD (Material definition).
@@ -129,10 +130,11 @@ public class MaterialDef{
      * @param type Type of the parameter
      * @param name Name of the parameter
      * @param colorSpace the color space of the texture required by this texture param
+     * @param value Default value of the parameter
      * @see ColorSpace
      */
-    public void addMaterialParamTexture(VarType type, String name, ColorSpace colorSpace) {
-        matParams.put(name, new MatParamTexture(type, name, null, colorSpace));
+    public void addMaterialParamTexture(VarType type, String name, ColorSpace colorSpace,Texture value) {
+        matParams.put(name, new MatParamTexture(type, name, value, colorSpace));
     }
     
     /**

+ 2 - 3
jme3-core/src/plugins/java/com/jme3/material/plugins/J3MLoader.java

@@ -297,8 +297,7 @@ public class J3MLoader implements AssetLoader {
             for (final TextureOptionValue textureOptionValue : textureOptionValues) {
                 textureOptionValue.applyToTexture(texture);
             }
-        }
-
+        }        
         return texture;
     }
 
@@ -404,7 +403,7 @@ public class J3MLoader implements AssetLoader {
             defaultValObj = readValue(type, defaultVal);
         }
         if(type.isTextureType()){
-            materialDef.addMaterialParamTexture(type, name, colorSpace);
+            materialDef.addMaterialParamTexture(type, name, colorSpace,(Texture)defaultValObj);
         }else{
             materialDef.addMaterialParam(type, name, defaultValObj);
         }