Revision: 35710
          
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=35710
Author:   jesterking
Date:     2011-03-22 22:00:26 +0000 (Tue, 22 Mar 2011)
Log Message:
-----------
Small tweak to material export: only export as <lambert> when spec intensity is 
0.0 and diffuse shader is set to Lambert. Other cases will be handled in due 
time, until then phong.

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

Modified: trunk/blender/source/blender/collada/EffectExporter.cpp
===================================================================
--- trunk/blender/source/blender/collada/EffectExporter.cpp     2011-03-22 
21:32:20 UTC (rev 35709)
+++ trunk/blender/source/blender/collada/EffectExporter.cpp     2011-03-22 
22:00:26 UTC (rev 35710)
@@ -129,19 +129,25 @@
        ep.setProfileType(COLLADASW::EffectProfile::COMMON);
        ep.openProfile();
        // set shader type - one of three blinn, phong or lambert
-       if (ma->spec_shader == MA_SPEC_BLINN) {
-               writeBlinn(ep, ma);
-       }
-       else if (ma->spec_shader == MA_SPEC_PHONG) {
-               writePhong(ep, ma);
-       }
-       else if(ma->diff_shader == MA_DIFF_LAMBERT) {
-               writeLambert(ep, ma);
-       }
-       else {
+       if(ma->spec>0.0f) {
+               if (ma->spec_shader == MA_SPEC_BLINN) {
+                       writeBlinn(ep, ma);
+               }
+               else {
+                       // \todo figure out handling of all spec+diff shader 
combos blender has, for now write phong
+                       // for now set phong in case spec shader is not blinn
+                       writePhong(ep, ma);
+               }
+       } else {
+               if(ma->diff_shader == MA_DIFF_LAMBERT) {
+                       writeLambert(ep, ma);
+               }
+               else {
                // \todo figure out handling of all spec+diff shader combos 
blender has, for now write phong
                writePhong(ep, ma);
+               }
        }
+       
        // index of refraction
        if (ma->mode & MA_RAYTRANSP) {
                ep.setIndexOfRefraction(ma->ang);

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

Reply via email to