Fixed Material not applying changes
Former-commit-id: 6e2f9a428213195360516ffcd8efd11b325e08a4
This commit is contained in:
parent
c87c63c685
commit
81f9f54688
|
|
@ -160,6 +160,9 @@ void NzMaterial::Apply() const
|
||||||
else
|
else
|
||||||
NzRenderer::Enable(nzRendererParameter_Blend, false);
|
NzRenderer::Enable(nzRendererParameter_Blend, false);
|
||||||
|
|
||||||
|
NzRenderer::SetFaceCulling(m_faceCulling);
|
||||||
|
NzRenderer::SetFaceFilling(m_faceFilling);
|
||||||
|
|
||||||
if (m_zTestEnabled)
|
if (m_zTestEnabled)
|
||||||
{
|
{
|
||||||
NzRenderer::Enable(nzRendererParameter_DepthTest, true);
|
NzRenderer::Enable(nzRendererParameter_DepthTest, true);
|
||||||
|
|
@ -383,12 +386,18 @@ void NzMaterial::SetDiffuseColor(const NzColor& diffuse)
|
||||||
|
|
||||||
void NzMaterial::SetDiffuseMap(NzTexture* map)
|
void NzMaterial::SetDiffuseMap(NzTexture* map)
|
||||||
{
|
{
|
||||||
|
if (m_diffuseMap != map)
|
||||||
|
{
|
||||||
if (m_diffuseMap)
|
if (m_diffuseMap)
|
||||||
m_diffuseMap->RemoveResourceReference();
|
m_diffuseMap->RemoveResourceReference();
|
||||||
|
|
||||||
m_diffuseMap = map;
|
m_diffuseMap = map;
|
||||||
if (m_diffuseMap)
|
if (m_diffuseMap)
|
||||||
m_diffuseMap->AddResourceReference();
|
m_diffuseMap->AddResourceReference();
|
||||||
|
|
||||||
|
if (m_autoShader)
|
||||||
|
m_shader = nullptr; // Invalidation du shader
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzMaterial::SetDiffuseSampler(const NzTextureSampler& sampler)
|
void NzMaterial::SetDiffuseSampler(const NzTextureSampler& sampler)
|
||||||
|
|
@ -413,26 +422,40 @@ void NzMaterial::SetFaceFilling(nzFaceFilling filling)
|
||||||
|
|
||||||
void NzMaterial::SetHeightMap(NzTexture* map)
|
void NzMaterial::SetHeightMap(NzTexture* map)
|
||||||
{
|
{
|
||||||
|
if (m_heightMap != map)
|
||||||
|
{
|
||||||
if (m_heightMap)
|
if (m_heightMap)
|
||||||
m_heightMap->RemoveResourceReference();
|
m_heightMap->RemoveResourceReference();
|
||||||
|
|
||||||
m_heightMap = map;
|
m_heightMap = map;
|
||||||
if (m_heightMap)
|
if (m_heightMap)
|
||||||
m_heightMap->AddResourceReference();
|
m_heightMap->AddResourceReference();
|
||||||
|
|
||||||
|
if (m_autoShader)
|
||||||
|
m_shader = nullptr; // Invalidation du shader
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzMaterial::SetNormalMap(NzTexture* map)
|
void NzMaterial::SetNormalMap(NzTexture* map)
|
||||||
{
|
{
|
||||||
|
if (m_normalMap != map)
|
||||||
|
{
|
||||||
if (m_normalMap)
|
if (m_normalMap)
|
||||||
m_normalMap->RemoveResourceReference();
|
m_normalMap->RemoveResourceReference();
|
||||||
|
|
||||||
m_normalMap = map;
|
m_normalMap = map;
|
||||||
if (m_normalMap)
|
if (m_normalMap)
|
||||||
m_normalMap->AddResourceReference();
|
m_normalMap->AddResourceReference();
|
||||||
|
|
||||||
|
if (m_autoShader)
|
||||||
|
m_shader = nullptr; // Invalidation du shader
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzMaterial::SetShader(const NzShader* shader)
|
void NzMaterial::SetShader(const NzShader* shader)
|
||||||
{
|
{
|
||||||
|
if (m_shader != shader)
|
||||||
|
{
|
||||||
if (m_shader)
|
if (m_shader)
|
||||||
m_shader->RemoveResourceReference();
|
m_shader->RemoveResourceReference();
|
||||||
|
|
||||||
|
|
@ -440,6 +463,7 @@ void NzMaterial::SetShader(const NzShader* shader)
|
||||||
m_shader = shader;
|
m_shader = shader;
|
||||||
if (m_shader)
|
if (m_shader)
|
||||||
m_shader->AddResourceReference();
|
m_shader->AddResourceReference();
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzMaterial::SetShininess(float shininess)
|
void NzMaterial::SetShininess(float shininess)
|
||||||
|
|
@ -454,12 +478,18 @@ void NzMaterial::SetSpecularColor(const NzColor& specular)
|
||||||
|
|
||||||
void NzMaterial::SetSpecularMap(NzTexture* map)
|
void NzMaterial::SetSpecularMap(NzTexture* map)
|
||||||
{
|
{
|
||||||
|
if (m_specularMap != map)
|
||||||
|
{
|
||||||
if (m_specularMap)
|
if (m_specularMap)
|
||||||
m_specularMap->RemoveResourceReference();
|
m_specularMap->RemoveResourceReference();
|
||||||
|
|
||||||
m_specularMap = map;
|
m_specularMap = map;
|
||||||
if (m_specularMap)
|
if (m_specularMap)
|
||||||
m_specularMap->AddResourceReference();
|
m_specularMap->AddResourceReference();
|
||||||
|
|
||||||
|
if (m_autoShader)
|
||||||
|
m_shader = nullptr; // Invalidation du shader
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void NzMaterial::SetSpecularSampler(const NzTextureSampler& sampler)
|
void NzMaterial::SetSpecularSampler(const NzTextureSampler& sampler)
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue