Add support for emissive and gloss-maps

Conflicts:
	code/ObjFileMtlImporter.cpp
	Someone added support for loading more bump maps, I added support for emmissive-maps. Easy merge.
pull/208/head
Nick Overdijk 2013-03-29 16:12:22 +01:00
parent 9186911da0
commit f433746bfa
3 changed files with 9 additions and 0 deletions

View File

@ -156,6 +156,7 @@ struct Material
aiString texture;
aiString textureSpecular;
aiString textureAmbient;
aiString textureEmissive;
aiString textureBump;
aiString textureNormal;
aiString textureSpecularity;
@ -166,6 +167,7 @@ struct Material
TextureDiffuseType = 0,
TextureSpecularType,
TextureAmbientType,
TextureEmissiveType,
TextureBumpType,
TextureNormalType,
TextureSpecularityType,

View File

@ -575,6 +575,9 @@ void ObjFileImporter::createMaterials(const ObjFile::Model* pModel, aiScene* pSc
}
}
if ( 0 != pCurrentMaterial->textureEmissive.length )
mat->AddProperty( &pCurrentMaterial->textureEmissive, AI_MATKEY_TEXTURE_EMISSIVE(0));
if ( 0 != pCurrentMaterial->textureSpecular.length )
{
mat->AddProperty( &pCurrentMaterial->textureSpecular, AI_MATKEY_TEXTURE_SPECULAR(0));

View File

@ -302,6 +302,10 @@ void ObjFileMtlImporter::getTexture() {
// Ambient texture
out = & m_pModel->m_pCurrentMaterial->textureAmbient;
clampIndex = ObjFile::Material::TextureAmbientType;
} else if (!ASSIMP_strincmp(&(*m_DataIt),"map_emissive",6)) {
// Emissive texture
out = & m_pModel->m_pCurrentMaterial->textureEmissive;
clampIndex = ObjFile::Material::TextureEmissiveType;
} else if ( !ASSIMP_strincmp( pPtr, BumpTexture1.c_str(), BumpTexture1.size() ) ||
!ASSIMP_strincmp( pPtr, BumpTexture2.c_str(), BumpTexture2.size() ) ||
!ASSIMP_strincmp( pPtr, BumpTexture3.c_str(), BumpTexture3.size() ) ) {