From 30bebec4778966df81ad8b32ed2c278e70d9b418 Mon Sep 17 00:00:00 2001 From: gaiaclary Date: Sat, 9 Aug 2014 19:42:17 +0100 Subject: Intensity and color are now adjusted upon import to get correct values --- source/blender/collada/DocumentImporter.cpp | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/source/blender/collada/DocumentImporter.cpp b/source/blender/collada/DocumentImporter.cpp index bbbbbf211c6..97d300e77f5 100644 --- a/source/blender/collada/DocumentImporter.cpp +++ b/source/blender/collada/DocumentImporter.cpp @@ -805,10 +805,14 @@ void DocumentImporter::write_profile_COMMON(COLLADAFW::EffectCommon *ef, Materia // DIFFUSE // color if (ef->getDiffuse().isColor()) { + /* too high intensity can create artefacts (fireflies) + So here we take care that intensity is set to 0.8 wherever possible + */ col = ef->getDiffuse().getColor(); - ma->r = col.getRed(); - ma->g = col.getGreen(); - ma->b = col.getBlue(); + ma->ref = max_ffff(col.getRed(), col.getGreen(), col.getBlue(), 0.8); + ma->r = col.getRed() / ma->ref; + ma->g = col.getGreen() / ma->ref; + ma->b = col.getBlue() / ma->ref; } // texture else if (ef->getDiffuse().isTexture()) { -- cgit v1.2.3