shininess = 0.0f;
alpha = 1.0f;
memset(stdtex, 0, sizeof stdtex);
+
+ reflect = 0.0f;
+ flat_mirror = false;
}
void Material::setup() const
glMaterialfv(GL_FRONT_AND_BACK, GL_SPECULAR, ks);
glMaterialf(GL_FRONT_AND_BACK, GL_SHININESS, shininess);
+ /*
int ntex = std::min((int)textures.size(), 8); // TODO: use max texture units
for(int i=0; i<ntex; i++) {
bind_texture(textures[i], i);
}
+ */
+ for(int i=0; i<NUM_MTL_TEXTURES; i++) {
+ if(stdtex[i]) {
+ bind_texture(stdtex[i], i);
+ }
+ }
+ /*
if(stdtex[MTL_TEX_LIGHTMAP]) {
bind_program(stdtex[MTL_TEX_DIFFUSE] ? sdr_ltmap : sdr_ltmap_notex);
}
+ */
}
void Material::add_texture(Texture *tex, int type)
} else if(strcmp(str, "lightmap") == 0) {
return MTL_TEX_LIGHTMAP;
} else if(strcmp(str, "envmap") == 0) {
- return MTL_TEX_ENVMAP;
+ return MTL_TEX_REFLECT;
}
return MTL_TEX_UNKNOWN;
}
return "normalmap";
case MTL_TEX_LIGHTMAP:
return "lightmap";
- case MTL_TEX_ENVMAP:
+ case MTL_TEX_REFLECT:
return "envmap";
default:
break;