diff --git a/data/models/materials.xml b/data/models/materials.xml index ef23c4c63..980486290 100644 --- a/data/models/materials.xml +++ b/data/models/materials.xml @@ -11,6 +11,10 @@ + + + + diff --git a/src/graphics/material.cpp b/src/graphics/material.cpp index 626878af3..9ab6ddebe 100644 --- a/src/graphics/material.cpp +++ b/src/graphics/material.cpp @@ -645,6 +645,16 @@ void Material::setMaterialProperties(video::SMaterial *m, scene::IMeshBuffer* m } + if (!m_lighting && irr_driver->isGLSL()) + { + // we abuse alpha blender a little here : in the shader-based pipeline, + // transparent objects are rendered after lighting has been applied. + // Therefore, pretending the object is transparent will have the effect + // of making it unaffected by lights + m_alpha_blending = true; + m_disable_z_write = false; + } + int modes = 0; if (m_alpha_testing)