Add initial support for PBR material data
This commit is contained in:
parent
ad8b46db38
commit
c728e0cf5d
|
|
@ -13,6 +13,7 @@ namespace Nz
|
|||
{
|
||||
static constexpr const char* AlphaTest = "MatAlphaTest";
|
||||
static constexpr const char* AlphaTexturePath = "MatAlphaTexturePath";
|
||||
static constexpr const char* AlphaWrap = "MatAlphaWrap";
|
||||
static constexpr const char* AlphaThreshold = "MatAlphaThreshold";
|
||||
static constexpr const char* AmbientColor = "MatAmbientColor";
|
||||
static constexpr const char* BackFaceStencilCompare = "MatBackFaceStencilCompare";
|
||||
|
|
@ -40,15 +41,22 @@ namespace Nz
|
|||
static constexpr const char* DiffuseAnisotropyLevel = "MatDiffuseAnisotropyLevel";
|
||||
static constexpr const char* DiffuseFilter = "MatDiffuseFilter";
|
||||
static constexpr const char* EmissiveTexturePath = "MatEmissiveTexturePath";
|
||||
static constexpr const char* EmissiveWrap = "MatEmissiveWrap";
|
||||
static constexpr const char* FaceCulling = "MatFaceCulling";
|
||||
static constexpr const char* FaceFilling = "MatFaceFilling";
|
||||
static constexpr const char* FilePath = "MatFilePath";
|
||||
static constexpr const char* HeightTexturePath = "MatHeightTexturePath";
|
||||
static constexpr const char* HeightWrap = "MatHeightWrap";
|
||||
static constexpr const char* Lighting = "MatLighting";
|
||||
static constexpr const char* LineWidth = "MatLineWidth";
|
||||
static constexpr const char* MetallicTexturePath = "MatMetallicTexturePath";
|
||||
static constexpr const char* MetallicWrap = "MatMetallicWrap";
|
||||
static constexpr const char* Name = "MatName";
|
||||
static constexpr const char* NormalTexturePath = "MatNormalTexturePath";
|
||||
static constexpr const char* NormalWrap = "MatNormalTextureWrap";
|
||||
static constexpr const char* PointSize = "MatPointSize";
|
||||
static constexpr const char* RoughnessTexturePath = "MatRoughnessTexturePath";
|
||||
static constexpr const char* RoughnessWrap = "MatRoughnessWrap";
|
||||
static constexpr const char* ScissorTest = "MatScissorTest";
|
||||
static constexpr const char* Shininess = "MatShininess";
|
||||
static constexpr const char* SpecularAnisotropyLevel = "MatSpecularAnisotropyLevel";
|
||||
|
|
|
|||
|
|
@ -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));
|
||||
|
|
|
|||
Loading…
Reference in New Issue