material editing in scene metafile
[laserbrain_demo] / src / material.cc
index 0aa83cd..f893175 100644 (file)
@@ -40,3 +40,38 @@ void Material::add_texture(Texture *tex, int type)
                stdtex[type] = tex;
        }
 }
+
+int mtl_parse_type(const char *str)
+{
+       if(strcmp(str, "diffuse") == 0) {
+               return MTL_TEX_DIFFUSE;
+       } else if(strcmp(str, "specular") == 0) {
+               return MTL_TEX_SPECULAR;
+       } else if(strcmp(str, "normalmap") == 0) {
+               return MTL_TEX_NORMALMAP;
+       } else if(strcmp(str, "lightmap") == 0) {
+               return MTL_TEX_LIGHTMAP;
+       } else if(strcmp(str, "envmap") == 0) {
+               return MTL_TEX_ENVMAP;
+       }
+       return MTL_TEX_UNKNOWN;
+}
+
+const char *mtl_type_string(int type)
+{
+       switch(type) {
+       case MTL_TEX_DIFFUSE:
+               return "diffuse";
+       case MTL_TEX_SPECULAR:
+               return "specular";
+       case MTL_TEX_NORMALMAP:
+               return "normalmap";
+       case MTL_TEX_LIGHTMAP:
+               return "lightmap";
+       case MTL_TEX_ENVMAP:
+               return "envmap";
+       default:
+               break;
+       }
+       return "unknown";
+}