git-svn-id: svn://db.shs.com.ru/libs@683 a8b55f48-bf90-11e4-a774-851b48703e85
This commit is contained in:
@@ -94,11 +94,12 @@ float aiMatFloat(const aiMaterial * m, const char * key, uint s0, uint s1, float
|
|||||||
if (r != aiReturn_SUCCESS) return def;
|
if (r != aiReturn_SUCCESS) return def;
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
QString aiMatMap(const aiMaterial * m, aiTextureType texture) {
|
QString aiMatString(const aiMaterial * m, const char * key, uint s0, uint s1) {
|
||||||
aiString p;
|
aiString p;
|
||||||
aiReturn r = const_cast<aiMaterial*>(m)->GetTexture(texture, 0, &p);
|
aiReturn r = const_cast<aiMaterial*>(m)->Get(key, s0, s1, p);
|
||||||
if (r != aiReturn_SUCCESS) return QString(p.C_Str());
|
//qDebug() << "GetTexture" << key << s0 << r << p.C_Str();
|
||||||
return QString();
|
if (r != aiReturn_SUCCESS) return QString();
|
||||||
|
return QString(p.C_Str());
|
||||||
}
|
}
|
||||||
Material * assimpMaterial(const aiMaterial * m) {
|
Material * assimpMaterial(const aiMaterial * m) {
|
||||||
if (!m) return 0;
|
if (!m) return 0;
|
||||||
@@ -110,11 +111,11 @@ Material * assimpMaterial(const aiMaterial * m) {
|
|||||||
ret->color_diffuse = aiMatColor(m, AI_MATKEY_COLOR_DIFFUSE);
|
ret->color_diffuse = aiMatColor(m, AI_MATKEY_COLOR_DIFFUSE);
|
||||||
ret->color_specular = aiMatColor(m, AI_MATKEY_COLOR_SPECULAR);
|
ret->color_specular = aiMatColor(m, AI_MATKEY_COLOR_SPECULAR);
|
||||||
ret->color_emission = aiMatColor(m, AI_MATKEY_COLOR_EMISSIVE);
|
ret->color_emission = aiMatColor(m, AI_MATKEY_COLOR_EMISSIVE);
|
||||||
ret->map_diffuse .bitmap_path = aiMatMap(m, aiTextureType_DIFFUSE);
|
ret->map_diffuse .bitmap_path = aiMatString(m, AI_MATKEY_TEXTURE_DIFFUSE(0));
|
||||||
ret->map_normal .bitmap_path = aiMatMap(m, aiTextureType_NORMALS);
|
ret->map_normal .bitmap_path = aiMatString(m, AI_MATKEY_TEXTURE_NORMALS(0));
|
||||||
ret->map_specular .bitmap_path = aiMatMap(m, aiTextureType_SPECULAR);
|
ret->map_specular .bitmap_path = aiMatString(m, AI_MATKEY_TEXTURE_SPECULAR(0));
|
||||||
ret->map_roughness.bitmap_path = aiMatMap(m, aiTextureType_DIFFUSE_ROUGHNESS);
|
ret->map_roughness.bitmap_path = aiMatString(m, AI_MATKEY_TEXTURE_SHININESS(0));
|
||||||
ret->map_emission .bitmap_path = aiMatMap(m, aiTextureType_EMISSIVE);
|
ret->map_emission .bitmap_path = aiMatString(m, AI_MATKEY_TEXTURE_EMISSIVE(0));
|
||||||
ret->transparency = 1.f - aiMatFloat(m, AI_MATKEY_OPACITY, 1.f);
|
ret->transparency = 1.f - aiMatFloat(m, AI_MATKEY_OPACITY, 1.f);
|
||||||
ret->setTypes();
|
ret->setTypes();
|
||||||
return ret;
|
return ret;
|
||||||
|
|||||||
Reference in New Issue
Block a user