Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorNathan Letwory <nathan@letworyinteractive.com>2011-09-12 17:20:24 +0400
committerNathan Letwory <nathan@letworyinteractive.com>2011-09-12 17:20:24 +0400
commit1dcf9c636ce3eef99279925c3ea87a34c46ec7c4 (patch)
treeb82f4c826f69651a37a58b2a2ace61b076139051 /source/blender/collada
parente16ba13251701a9845adf702e60be3f2fad724bd (diff)
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.
Diffstat (limited to 'source/blender/collada')
-rw-r--r--source/blender/collada/EffectExporter.cpp5
-rw-r--r--source/blender/collada/EffectExporter.h2
2 files changed, 6 insertions, 1 deletions
diff --git a/source/blender/collada/EffectExporter.cpp b/source/blender/collada/EffectExporter.cpp
index ed37dada195..b4cc88ee3b8 100644
--- a/source/blender/collada/EffectExporter.cpp
+++ b/source/blender/collada/EffectExporter.cpp
@@ -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 @@ bool EffectsExporter::hasEffects(Scene *sce)
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 @@ void EffectsExporter::operator()(Material *ma, Object *ob)
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
diff --git a/source/blender/collada/EffectExporter.h b/source/blender/collada/EffectExporter.h
index dc1f4c4474b..25d7ed15bc3 100644
--- a/source/blender/collada/EffectExporter.h
+++ b/source/blender/collada/EffectExporter.h
@@ -70,6 +70,8 @@ private:
bool hasEffects(Scene *sce);
const ExportSettings *export_settings;
+
+ Scene *scene;
};
#endif