From 072c118f95a6f3d4b22bed37d001ad68541307e0 Mon Sep 17 00:00:00 2001 From: Marianne Gagnon Date: Sun, 3 Aug 2014 20:03:17 -0400 Subject: [PATCH] Fix splatting, which had been broken by a recent commit of mine --- src/graphics/irr_driver.cpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/graphics/irr_driver.cpp b/src/graphics/irr_driver.cpp index 18b27f59f..72535fe30 100644 --- a/src/graphics/irr_driver.cpp +++ b/src/graphics/irr_driver.cpp @@ -881,6 +881,18 @@ void IrrDriver::setAllMaterialFlags(scene::IMesh *mesh) const video::SMaterial &irr_material=mb->getMaterial(); video::ITexture* t=irr_material.getTexture(0); if(t) material_manager->setAllMaterialFlags(t, mb); + + // special case : for splatting, the main material is on layer 1. + // it was done this way to provide a fallback for computers + // where shaders are not supported + t = irr_material.getTexture(1); + if (t) + { + Material* mat = material_manager->getMaterialFor(t, mb); + if (mat != NULL && mat->getShaderType() == Material::SHADERTYPE_SPLATTING) + material_manager->setAllMaterialFlags(t, mb); + } + material_manager->setAllUntexturedMaterialFlags(mb); } // for i