Commit dd684b5e authored by chili's avatar chili
Browse files

load glossiness from mtl absent of specmap

parent a69de679
...@@ -271,6 +271,7 @@ std::unique_ptr<Mesh> Model::ParseMesh( Graphics& gfx,const aiMesh& mesh,const a ...@@ -271,6 +271,7 @@ std::unique_ptr<Mesh> Model::ParseMesh( Graphics& gfx,const aiMesh& mesh,const a
std::vector<std::unique_ptr<Bind::Bindable>> bindablePtrs; std::vector<std::unique_ptr<Bind::Bindable>> bindablePtrs;
bool hasSpecularMap = false; bool hasSpecularMap = false;
float shininess = 35.0f;
if( mesh.mMaterialIndex >= 0 ) if( mesh.mMaterialIndex >= 0 )
{ {
auto& material = *pMaterials[mesh.mMaterialIndex]; auto& material = *pMaterials[mesh.mMaterialIndex];
...@@ -287,6 +288,10 @@ std::unique_ptr<Mesh> Model::ParseMesh( Graphics& gfx,const aiMesh& mesh,const a ...@@ -287,6 +288,10 @@ std::unique_ptr<Mesh> Model::ParseMesh( Graphics& gfx,const aiMesh& mesh,const a
bindablePtrs.push_back( std::make_unique<Bind::Texture>( gfx,Surface::FromFile( base + texFileName.C_Str() ),1 ) ); bindablePtrs.push_back( std::make_unique<Bind::Texture>( gfx,Surface::FromFile( base + texFileName.C_Str() ),1 ) );
hasSpecularMap = true; hasSpecularMap = true;
} }
else
{
material.Get( AI_MATKEY_SHININESS,shininess );
}
bindablePtrs.push_back( std::make_unique<Bind::Sampler>( gfx ) ); bindablePtrs.push_back( std::make_unique<Bind::Sampler>( gfx ) );
} }
...@@ -312,9 +317,10 @@ std::unique_ptr<Mesh> Model::ParseMesh( Graphics& gfx,const aiMesh& mesh,const a ...@@ -312,9 +317,10 @@ std::unique_ptr<Mesh> Model::ParseMesh( Graphics& gfx,const aiMesh& mesh,const a
struct PSMaterialConstant struct PSMaterialConstant
{ {
float specularIntensity = 0.8f; float specularIntensity = 0.8f;
float specularPower = 40.0f; float specularPower;
float padding[2]; float padding[2];
} pmc; } pmc;
pmc.specularPower = shininess;
bindablePtrs.push_back( std::make_unique<Bind::PixelConstantBuffer<PSMaterialConstant>>( gfx,pmc,1u ) ); bindablePtrs.push_back( std::make_unique<Bind::PixelConstantBuffer<PSMaterialConstant>>( gfx,pmc,1u ) );
} }
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment