[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [40164] trunk/blender/source/blender/ collada: Fix [#28614] Collada Exporter does not export Ambient term

Nathan Letwory nathan at letworyinteractive.com
Mon Sep 12 15:20:26 CEST 2011


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




More information about the Bf-blender-cvs mailing list