diff options
author | Nathan Letwory <nathan@letworyinteractive.com> | 2011-03-27 13:46:20 +0400 |
---|---|---|
committer | Nathan Letwory <nathan@letworyinteractive.com> | 2011-03-27 13:46:20 +0400 |
commit | 3cb6f52eec3beae54adcec64e1213995dfac0423 (patch) | |
tree | 48ec2c77056006a41e9e61a859f54c327331f864 /source/blender | |
parent | 4ec9d47de3797ab88e022682f2b9bc2a24bcee45 (diff) |
Add blender light profile.
Diffstat (limited to 'source/blender')
-rw-r--r-- | source/blender/collada/ExtraTags.cpp | 2 | ||||
-rw-r--r-- | source/blender/collada/LightExporter.cpp | 43 | ||||
-rw-r--r-- | source/blender/collada/LightExporter.h | 3 |
3 files changed, 44 insertions, 4 deletions
diff --git a/source/blender/collada/ExtraTags.cpp b/source/blender/collada/ExtraTags.cpp index 2ea11c46509..772c20c6c4f 100644 --- a/source/blender/collada/ExtraTags.cpp +++ b/source/blender/collada/ExtraTags.cpp @@ -44,7 +44,7 @@ ExtraTags::~ExtraTags() bool ExtraTags::addTag(const std::string tag, const std::string data) { - //std::cout << "ready to add " << tag << ": " << data << "." << std::endl; + std::cout << "ready to add " << tag << ": " << data << "." << std::endl; return true; } diff --git a/source/blender/collada/LightExporter.cpp b/source/blender/collada/LightExporter.cpp index ab72d2113bb..b4afaa4cc26 100644 --- a/source/blender/collada/LightExporter.cpp +++ b/source/blender/collada/LightExporter.cpp @@ -27,14 +27,11 @@ * \ingroup collada */ - #include <string> #include "COLLADASWColor.h" #include "COLLADASWLight.h" -#include "DNA_lamp_types.h" - #include "BLI_math.h" #include "LightExporter.h" @@ -102,6 +99,7 @@ void LightsExporter::operator()(Object *ob) COLLADASW::DirectionalLight cla(mSW, la_id, la_name, e); cla.setColor(col); cla.setConstantAttenuation(constatt); + exportBlenderProfile(cla, la); addLight(cla); } // hemi @@ -109,6 +107,7 @@ void LightsExporter::operator()(Object *ob) COLLADASW::AmbientLight cla(mSW, la_id, la_name, e); cla.setColor(col); cla.setConstantAttenuation(constatt); + exportBlenderProfile(cla, la); addLight(cla); } // spot @@ -120,6 +119,7 @@ void LightsExporter::operator()(Object *ob) cla.setConstantAttenuation(constatt); cla.setLinearAttenuation(linatt); cla.setQuadraticAttenuation(quadatt); + exportBlenderProfile(cla, la); addLight(cla); } // lamp @@ -129,6 +129,7 @@ void LightsExporter::operator()(Object *ob) cla.setConstantAttenuation(constatt); cla.setLinearAttenuation(linatt); cla.setQuadraticAttenuation(quadatt); + exportBlenderProfile(cla, la); addLight(cla); } // area lamp is not supported @@ -139,6 +140,42 @@ void LightsExporter::operator()(Object *ob) cla.setConstantAttenuation(constatt); cla.setLinearAttenuation(linatt); cla.setQuadraticAttenuation(quadatt); + exportBlenderProfile(cla, la); addLight(cla); } + +} + +bool LightsExporter::exportBlenderProfile(COLLADASW::Light &cla, Lamp *la) +{ + cla.addExtraTechniqueParameter("blender", "type", la->type); + cla.addExtraTechniqueParameter("blender", "flag", la->flag); + cla.addExtraTechniqueParameter("blender", "mode", la->mode); + cla.addExtraTechniqueParameter("blender", "gamma", la->k); + cla.addExtraTechniqueParameter("blender", "shadow_r", la->shdwr); + cla.addExtraTechniqueParameter("blender", "shadow_g", la->shdwg); + cla.addExtraTechniqueParameter("blender", "shadow_b", la->shdwb); + cla.addExtraTechniqueParameter("blender", "energy", la->energy); + cla.addExtraTechniqueParameter("blender", "dist", la->dist); + cla.addExtraTechniqueParameter("blender", "spotsize", la->spotsize); + cla.addExtraTechniqueParameter("blender", "spotblend", la->spotblend); + cla.addExtraTechniqueParameter("blender", "halo_intensity", la->haint); + cla.addExtraTechniqueParameter("blender", "att1", la->att1); + cla.addExtraTechniqueParameter("blender", "att2", la->att2); + // \todo figure out how we can have falloff curve supported here + cla.addExtraTechniqueParameter("blender", "falloff_type", la->falloff_type); + cla.addExtraTechniqueParameter("blender", "clipsta", la->clipsta); + cla.addExtraTechniqueParameter("blender", "clipend", la->clipend); + cla.addExtraTechniqueParameter("blender", "shadspotsize", la->shadspotsize); + cla.addExtraTechniqueParameter("blender", "bias", la->bias); + cla.addExtraTechniqueParameter("blender", "soft", la->soft); + cla.addExtraTechniqueParameter("blender", "compressthresh", la->compressthresh); + cla.addExtraTechniqueParameter("blender", "bufsize", la->bufsize); + cla.addExtraTechniqueParameter("blender", "samp", la->samp); + cla.addExtraTechniqueParameter("blender", "buffers", la->buffers); + cla.addExtraTechniqueParameter("blender", "filtertype", la->filtertype); + cla.addExtraTechniqueParameter("blender", "bufflag", la->bufflag); + cla.addExtraTechniqueParameter("blender", "buftype", la->buftype); + + return true; } diff --git a/source/blender/collada/LightExporter.h b/source/blender/collada/LightExporter.h index 685a50ff17e..3706582e52c 100644 --- a/source/blender/collada/LightExporter.h +++ b/source/blender/collada/LightExporter.h @@ -33,6 +33,7 @@ #include "COLLADASWStreamWriter.h" #include "COLLADASWLibraryLights.h" +#include "DNA_lamp_types.h" #include "DNA_object_types.h" #include "DNA_scene_types.h" @@ -42,6 +43,8 @@ public: LightsExporter(COLLADASW::StreamWriter *sw); void exportLights(Scene *sce); void operator()(Object *ob); +private: + bool exportBlenderProfile(COLLADASW::Light &cla, Lamp *la); }; #endif |