diff options
author | gaiaclary <gaia.clary@machinimatrix.org> | 2014-08-09 22:42:17 +0400 |
---|---|---|
committer | gaiaclary <gaia.clary@machinimatrix.org> | 2014-08-09 22:43:37 +0400 |
commit | 30bebec4778966df81ad8b32ed2c278e70d9b418 (patch) | |
tree | 07b49b14a178bdffc939f7de629578395e37c533 | |
parent | 1f9657ecc7449c99d26e94fde15d5f0ee4d7f135 (diff) |
Intensity and color are now adjusted upon import to get correct valuespie-menus
-rw-r--r-- | source/blender/collada/DocumentImporter.cpp | 10 |
1 files 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()) { |