-Material::Material(const aiMaterial &ai, GLuint progId): progId(progId) {
- if (ai.GetTextureCount(aiTextureType_DIFFUSE) > 0) {
- aiString path;
- ai.GetTexture(aiTextureType_DIFFUSE, 0, &path);
- diffuseMap = new Texture(std::string(path.C_Str()));
- }
- if (ai.GetTextureCount(aiTextureType_SPECULAR) > 0) {
- aiString path;
- ai.GetTexture(aiTextureType_SPECULAR, 0, &path);
- specularMap = new Texture(std::string(path.C_Str()));
- }
- if (ai.GetTextureCount(aiTextureType_NORMALS) > 0) {
- aiString path;
- ai.GetTexture(aiTextureType_NORMALS, 0, &path);
- normalMap = new Texture(std::string(path.C_Str()));
- }
- ai.Get(AI_MATKEY_SHININESS, shininess);
- ai.Get(AI_MATKEY_COLOR_AMBIENT, ambient);
- ai.Get(AI_MATKEY_COLOR_DIFFUSE, diffuse);
- ai.Get(AI_MATKEY_COLOR_SPECULAR, specular);
+Material::Material(const aiMaterial &ai, const aiScene &scene, GLuint progId): progId(progId) {
+ aiString name;
+ ai.Get(AI_MATKEY_NAME, name);
+ if (name == aiString("default material")) {
+ abort();