Revision: 20925
          
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=20925
Author:   chingachgook
Date:     2009-06-16 10:58:33 +0200 (Tue, 16 Jun 2009)

Log Message:
-----------
Exporter applies the first image in the scene to all objects which have 
uv coordinates.

Modified Paths:
--------------
    branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp

Modified: 
branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp
===================================================================
--- branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp  
2009-06-16 08:54:38 UTC (rev 20924)
+++ branches/soc-2009-chingachgook/source/blender/collada/DocumentExporter.cpp  
2009-06-16 08:58:33 UTC (rev 20925)
@@ -113,7 +113,7 @@
                                if (checkTexcoords == true)
                                        {
                                                COLLADASW::Input 
input4(COLLADASW::TEXCOORD,
-                                                                               
                getUrlBySemantics(geom_name, COLLADASW::TEXCOORD), 1);
+                                                                               
                getUrlBySemantics(geom_name, COLLADASW::TEXCOORD), 1, 1);
                                                til.push_back(input4);
                                                //XXX
                                                
tris.setMaterial("material-symbol");
@@ -377,12 +377,12 @@
        void exportScene(Scene *sce) {
                //<library_visual_scenes><visual_scene>
                openVisualScene(sce->id.name, "");
-       
+               
                //<node> for each mesh object
                Base *base= (Base*) sce->base.first;
                while(base) {
                        Object *ob = base->object;
-
+                       
                        if (ob->type == OB_MESH && ob->data) {
                                COLLADASW::Node node(mSW);
                                node.start();
@@ -396,15 +396,20 @@
                                
instGeom.setUrl(COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING,
                                                                                
           ob_name));
                                //XXX hardcoded
-                               /*COLLADASW::BindMaterial bm(mSW);
+                               Image *image = (Image*)G.main->image.first;
+                               
+                               COLLADASW::BindMaterial& bm = 
instGeom.getBindMaterial();
                                COLLADASW::InstanceMaterialList& iml = 
bm.getInstanceMaterialList();
-                               std::string matid = "material";
+                               
+                               std::string matid = std::string(image->id.name) 
+ "-material";
                                COLLADASW::InstanceMaterial 
im("material-symbol", COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING, matid));
+                               COLLADASW::BindVertexInput bvi("myUVs", 
"TEXCOORD", 1);
+                               im.push_back(bvi);
                                iml.push_back(im);
-                               instGeom.getBindMaterial() = bm;*/
+
+                               //
+                               instGeom.add();
                                
-                               instGeom.add();
-                       
                                node.end();
                        }
                        base= base->next;
@@ -418,7 +423,7 @@
 };
 
 /*----------------------------------------------------------*/
-//class for exporting textures
+//class for exporting images
 class ImagesExporter: COLLADASW::LibraryImages
 {
 public:
@@ -464,7 +469,7 @@
                        ep.openProfile();
                        
                        //<newparam> <surface> <init_from>
-                       COLLADASW::Surface 
surface(COLLADASW::Surface::SURFACE_TYPE_2D);
+                       COLLADASW::Surface 
surface(COLLADASW::Surface::SURFACE_TYPE_2D, image->id.name + 
COLLADASW::Surface::SURFACE_SID_SUFFIX);
                        COLLADASW::SurfaceInitOption 
sio(COLLADASW::SurfaceInitOption::INIT_FROM);
                        sio.setImageReference(image->id.name);
                        surface.setInitOption(sio);
@@ -474,7 +479,7 @@
                        
                        //<lambert> <diffuse> <texture> 
                        COLLADASW::Texture texture(image->id.name);
-                       texture.setTexcoord("myUVS");
+                       texture.setTexcoord("myUVs");
                        texture.setSurface(surface);
                        texture.setSampler(sampler);
                        


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

Reply via email to