]> git.tdb.fi Git - libs/gl.git/blobdiff - blender/io_mspgl/export_material.py
Better checking of the existence of image filepath
[libs/gl.git] / blender / io_mspgl / export_material.py
index c3aa654e41ed16ffb6a84e20b93e490f84fdac8e..336ca31698e9d7b401305198040ca6da92f1d195 100644 (file)
@@ -37,7 +37,10 @@ class MaterialExporter:
                                if s.use_map_color_diffuse:
                                        textures["diffuse_map"] = s.texture
                                elif s.use_map_normal:
-                                       textures["normal_map"] = s.texture
+                                       if s.texture.use_normal_map:
+                                               textures["normal_map"] = s.texture
+                                       else:
+                                               textures["displace_map"] = s.texture
 
                if material.technique:
                        if not material.inherit_tech:
@@ -48,8 +51,9 @@ class MaterialExporter:
 
                        st = Statement("inherit", material.technique)
                        for s, t in textures.items():
-                               if t.default_filter:
-                                       st.sub.append(Statement("texture", s, image_name(t.image)))
+                               fn = os.path.basename(t.image.filepath)
+                               if t.default_filter and fn:
+                                       st.sub.append(Statement("texture", s, fn))
                                else:
                                        st.sub.append(tech_res.create_reference_statement("texture", s, resources[t.name+".tex2d"]))
                        if material.override_material:
@@ -66,12 +70,13 @@ class MaterialExporter:
                                diffuse_tex = textures["diffuse_map"]
                                tex_res = resources[diffuse_tex.name+".tex2d"]
                                ss = Statement("texunit", 0)
+                               fn = os.path.basename(diffuse_tex.image.filepath)
                                if self.single_file:
                                        ss.sub.append(tech_res.create_embed_statement("texture2d", tex_res))
-                               elif not diffuse_tex.default_filter:
-                                       ss.sub.append(tech_res.create_reference_statement("texture", tex_res))
+                               elif diffuse_tex.default_filter and fn:
+                                       ss.sub.append(Statement("texture", fn))
                                else:
-                                       ss.sub.append(Statement("texture", image_name(diffuse_tex.image)))
+                                       ss.sub.append(tech_res.create_reference_statement("texture", tex_res))
                                st.sub.append(ss)
 
                        tech_res.statements.append(st)