Revision: 40164
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=40164
Author:   jesterking
Date:     2011-09-12 13:20:24 +0000 (Mon, 12 Sep 2011)
Log Message:
-----------
Fix [#28614] Collada Exporter does not export Ambient term
reported by Steiner Bernhard

ma->ambX is calculated only on a render, so instead of relying on those values 
compute them manually.

Modified Paths:
--------------
    trunk/blender/source/blender/collada/EffectExporter.cpp
    trunk/blender/source/blender/collada/EffectExporter.h

Modified: trunk/blender/source/blender/collada/EffectExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/EffectExporter.cpp     2011-09-12 
13:13:56 UTC (rev 40163)
+++ trunk/blender/source/blender/collada/EffectExporter.cpp     2011-09-12 
13:20:24 UTC (rev 40164)
@@ -37,6 +37,7 @@
 
 #include "DNA_mesh_types.h"
 #include "DNA_texture_types.h"
+#include "DNA_world_types.h"
 
 #include "BKE_customdata.h"
 
@@ -81,6 +82,7 @@
 void EffectsExporter::exportEffects(Scene *sce)
 {
        if(hasEffects(sce)) {
+               this->scene = sce;
                openLibrary();
                MaterialFunctor mf;
                mf.forEachMaterialInScene<EffectsExporter>(sce, *this, 
this->export_settings->selected);
@@ -175,7 +177,8 @@
        ep.setDiffuse(cot, false , "diffuse");
 
        // ambient
-       cot = getcol(ma->ambr, ma->ambg, ma->ambb, 1.0f);
+       /* ma->ambX is calculated only on render, so lets do it here manually 
and not rely on ma->ambX. */
+       cot = getcol(this->scene->world->ambr*ma->amb, 
this->scene->world->ambg*ma->amb, this->scene->world->ambb*ma->amb, 1.0f);
        ep.setAmbient(cot, false , "ambient");
 
        // reflective, reflectivity

Modified: trunk/blender/source/blender/collada/EffectExporter.h
===================================================================
--- trunk/blender/source/blender/collada/EffectExporter.h       2011-09-12 
13:13:56 UTC (rev 40163)
+++ trunk/blender/source/blender/collada/EffectExporter.h       2011-09-12 
13:20:24 UTC (rev 40164)
@@ -70,6 +70,8 @@
        bool hasEffects(Scene *sce);
        
        const ExportSettings *export_settings;
+       
+       Scene *scene;
 };
 
 #endif

_______________________________________________
Bf-blender-cvs mailing list
[email protected]
http://lists.blender.org/mailman/listinfo/bf-blender-cvs

Reply via email to