Add initial support for PBR material data

This commit is contained in:
Lynix
2022-07-19 20:02:40 +02:00
parent ad8b46db38
commit c728e0cf5d
2 changed files with 16 additions and 5 deletions

View File

@@ -430,14 +430,17 @@ std::shared_ptr<Mesh> LoadMesh(Stream& stream, const MeshParams& parameters)
ConvertColor(AI_MATKEY_COLOR_SPECULAR, MaterialData::SpecularColor);
ConvertTexture(aiTextureType_EMISSIVE, MaterialData::EmissiveTexturePath);
ConvertTexture(aiTextureType_HEIGHT, MaterialData::HeightTexturePath);
ConvertTexture(aiTextureType_NORMALS, MaterialData::NormalTexturePath);
ConvertTexture(aiTextureType_OPACITY, MaterialData::AlphaTexturePath);
ConvertTexture(aiTextureType_SPECULAR, MaterialData::SpecularTexturePath, MaterialData::SpecularWrap);
if (!ConvertTexture(aiTextureType_BASE_COLOR, MaterialData::BaseColorTexturePath, MaterialData::BaseColorWrap))
ConvertTexture(aiTextureType_DIFFUSE, MaterialData::BaseColorTexturePath, MaterialData::BaseColorWrap);
ConvertTexture(aiTextureType_DIFFUSE_ROUGHNESS, MaterialData::RoughnessTexturePath, MaterialData::RoughnessWrap);
ConvertTexture(aiTextureType_EMISSIVE, MaterialData::EmissiveTexturePath, MaterialData::EmissiveWrap);
ConvertTexture(aiTextureType_HEIGHT, MaterialData::HeightTexturePath, MaterialData::HeightWrap);
ConvertTexture(aiTextureType_METALNESS, MaterialData::MetallicTexturePath, MaterialData::MetallicWrap);
ConvertTexture(aiTextureType_NORMALS, MaterialData::NormalTexturePath, MaterialData::NormalWrap);
ConvertTexture(aiTextureType_OPACITY, MaterialData::AlphaTexturePath, MaterialData::AlphaWrap);
ConvertTexture(aiTextureType_SPECULAR, MaterialData::SpecularTexturePath, MaterialData::SpecularWrap);
aiString name;
if (aiGetMaterialString(aiMat, AI_MATKEY_NAME, &name) == aiReturn_SUCCESS)
matData.SetParameter(MaterialData::Name, std::string(name.data, name.length));