// ------------------------------------ #include "BL_Material.h" #include "DNA_material_types.h" #include "DNA_texture_types.h" #include "DNA_image_types.h" #include "DNA_mesh_types.h" #include "IMB_imbuf_types.h" #include "IMB_imbuf.h" MTex* getImageFromMaterial(Material *mat, int index) { if(!mat) return 0; if(!(index >=0 && index < MAX_MTEX) ) return 0; MTex *m = mat->mtex[index]; return m?m:0; } int getNumTexChannels( Material *mat ) { int count = -1; if(!mat) return -1; for(count =0; (count < 10) && mat->mtex[count] != 0; count++) {} return count; } BL_Material::BL_Material() { Initialize(); } void BL_Material::Initialize() { rgb[0] = 0; rgb[1] = 0; rgb[2] = 0; rgb[3] = 0; IdMode = 0; ras_mode = 0; glslmat = 0; tile = 0; matname = "NoMaterial"; matcolor[0] = 0.5f; matcolor[1] = 0.5f; matcolor[2] = 0.5f; matcolor[3] = 0.5f; speccolor[0] = 1.f; speccolor[1] = 1.f; speccolor[2] = 1.f; transp = 0; hard = 50.f; spec_f = 0.5f; alpha = 1.f; emit = 0.f; mode = 0; material = 0; tface = 0; materialindex = 0; amb=0.5f; num_enabled = 0; num_users = 1; share = false; int i; for(i=0; i<4; i++) { uv[i] = MT_Point2(0.f,1.f); uv2[i] = MT_Point2(0.f, 1.f); } for(i=0; i 1 ) share = true; else share = false; } bool BL_Material::IsShared() { return share; } void BL_Material::SetUsers(int num) { num_users = num; }