Fixed OBJ loader not correctly loading alpha
Former-commit-id: f90feace73669f4a54e1791dae23b16867bb1d8b
This commit is contained in:
parent
f4ef89bb32
commit
9d8ce1ce4b
|
|
@ -203,14 +203,16 @@ namespace
|
||||||
std::unique_ptr<NzMaterial> material(new NzMaterial);
|
std::unique_ptr<NzMaterial> material(new NzMaterial);
|
||||||
material->SetPersistent(false);
|
material->SetPersistent(false);
|
||||||
|
|
||||||
|
nzUInt8 alphaValue = static_cast<nzUInt8>(mtlMat->alpha*255.f);
|
||||||
|
|
||||||
NzColor ambientColor(mtlMat->ambient);
|
NzColor ambientColor(mtlMat->ambient);
|
||||||
ambientColor.a = mtlMat->alpha;
|
ambientColor.a = alphaValue;
|
||||||
|
|
||||||
NzColor diffuseColor(mtlMat->diffuse);
|
NzColor diffuseColor(mtlMat->diffuse);
|
||||||
diffuseColor.a = mtlMat->alpha;
|
diffuseColor.a = alphaValue;
|
||||||
|
|
||||||
NzColor specularColor(mtlMat->specular);
|
NzColor specularColor(mtlMat->specular);
|
||||||
specularColor.a = mtlMat->alpha;
|
specularColor.a = alphaValue;
|
||||||
|
|
||||||
material->SetAmbientColor(ambientColor);
|
material->SetAmbientColor(ambientColor);
|
||||||
material->SetDiffuseColor(diffuseColor);
|
material->SetDiffuseColor(diffuseColor);
|
||||||
|
|
@ -264,7 +266,7 @@ namespace
|
||||||
|
|
||||||
// Si nous avons une alpha map ou des couleurs transparentes,
|
// Si nous avons une alpha map ou des couleurs transparentes,
|
||||||
// nous devons configurer le matériau pour accepter la transparence au mieux
|
// nous devons configurer le matériau pour accepter la transparence au mieux
|
||||||
if (hasAlphaMap || !NzNumberEquals(mtlMat->alpha, 1.f))
|
if (hasAlphaMap || alphaValue != 255)
|
||||||
{
|
{
|
||||||
// On paramètre le matériau pour accepter la transparence au mieux
|
// On paramètre le matériau pour accepter la transparence au mieux
|
||||||
material->Enable(nzRendererParameter_Blend, true);
|
material->Enable(nzRendererParameter_Blend, true);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue