[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [26214] branches/soc-2009-chingachgook: COLLADA branch: patch for importer from Sergey I.

Arystanbek Dyussenov arystan.d at gmail.com
Sat Jan 23 18:33:41 CET 2010


Revision: 26214
          http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=26214
Author:   kazanbas
Date:     2010-01-23 18:33:40 +0100 (Sat, 23 Jan 2010)

Log Message:
-----------
COLLADA branch: patch for importer from Sergey I. Sharybin to build against OpenCollada at revision 721. Thanks Sergey!

People who want to build this branch will need update their OpenCollada.

On Linux OpenCollada builds without patching. As usual I updated the build doc: http://wiki.blender.org/index.php/User:Kazanbas/Building_Collada_Branch#Building_the_COLLADA_GSoC_branch

A small change will be necessary in cmake and scons options on Mac and Windows: OpenCollada's libBuffer was renamed to libbuffer.

Revision Links:
--------------
    http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=721

Modified Paths:
--------------
    branches/soc-2009-chingachgook/CMakeLists.txt
    branches/soc-2009-chingachgook/config/linux2-config.py
    branches/soc-2009-chingachgook/source/blender/collada/DocumentImporter.cpp

Modified: branches/soc-2009-chingachgook/CMakeLists.txt
===================================================================
--- branches/soc-2009-chingachgook/CMakeLists.txt	2010-01-23 17:26:39 UTC (rev 26213)
+++ branches/soc-2009-chingachgook/CMakeLists.txt	2010-01-23 17:33:40 UTC (rev 26214)
@@ -217,7 +217,7 @@
 	IF (WITH_OPENCOLLADA)
 		SET(OPENCOLLADA /usr/local/opencollada CACHE FILEPATH "OpenCollada Directory")
 		SET(OPENCOLLADA_LIBPATH ${OPENCOLLADA}/lib)
-		SET(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre ftoa Buffer)
+		SET(OPENCOLLADA_LIB OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre ftoa buffer)
 		SET(OPENCOLLADA_INC ${OPENCOLLADA})
 		SET(PCRE /usr CACHE FILEPATH "PCRE Directory")
 		SET(PCRE_LIBPATH ${PCRE}/lib)

Modified: branches/soc-2009-chingachgook/config/linux2-config.py
===================================================================
--- branches/soc-2009-chingachgook/config/linux2-config.py	2010-01-23 17:26:39 UTC (rev 26213)
+++ branches/soc-2009-chingachgook/config/linux2-config.py	2010-01-23 17:33:40 UTC (rev 26214)
@@ -156,7 +156,7 @@
 BF_COLLADA_INC = '${BF_COLLADA}'
 BF_COLLADA_LIB = 'bf_collada'
 BF_OPENCOLLADA = '/usr'
-BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre Buffer ftoa'
+BF_OPENCOLLADA_LIB = 'OpenCOLLADAStreamWriter OpenCOLLADASaxFrameworkLoader OpenCOLLADAFramework OpenCOLLADABaseUtils GeneratedSaxParser UTF MathMLSolver pcre buffer ftoa'
 BF_OPENCOLLADA_LIBPATH = '${BF_OPENCOLLADA}/lib'
 BF_PCRE = ''
 BF_PCRE_LIB = 'pcre'

Modified: branches/soc-2009-chingachgook/source/blender/collada/DocumentImporter.cpp
===================================================================
--- branches/soc-2009-chingachgook/source/blender/collada/DocumentImporter.cpp	2010-01-23 17:26:39 UTC (rev 26213)
+++ branches/soc-2009-chingachgook/source/blender/collada/DocumentImporter.cpp	2010-01-23 17:33:40 UTC (rev 26214)
@@ -1564,15 +1564,13 @@
 		return NULL;
 	}
 	
-	MTex *assign_textures_to_uvlayer(COLLADAFW::InstanceGeometry::TextureCoordinateBinding &ctexture,
+	MTex *assign_textures_to_uvlayer(COLLADAFW::TextureCoordinateBinding &ctexture,
 									 Mesh *me, TexIndexTextureArrayMap& texindex_texarray_map,
 									 MTex *color_texture)
 	{
-		
-		COLLADAFW::TextureMapId texture_index = ctexture.textureMapId;
-		
-		char *uvname = CustomData_get_layer_name(&me->fdata, CD_MTFACE, ctexture.setIndex);
-		
+		COLLADAFW::TextureMapId texture_index = ctexture.getTextureMapId();
+		char *uvname = CustomData_get_layer_name(&me->fdata, CD_MTFACE, ctexture.getSetIndex());
+
 		if (texindex_texarray_map.find(texture_index) == texindex_texarray_map.end()) {
 			
 			fprintf(stderr, "Cannot find texture array by texture index.\n");
@@ -1595,7 +1593,7 @@
 		return color_texture;
 	}
 	
-	MTFace *assign_material_to_geom(COLLADAFW::InstanceGeometry::MaterialBinding cmaterial,
+	MTFace *assign_material_to_geom(COLLADAFW::MaterialBinding cmaterial,
 									std::map<COLLADAFW::UniqueId, Material*>& uid_material_map,
 									Object *ob, const COLLADAFW::UniqueId *geom_uid, 
 									MTex **color_texture, char *layername, MTFace *texture_face,
@@ -1614,7 +1612,7 @@
 		Material *ma = uid_material_map[ma_uid];
 		assign_material(ob, ma, ob->totcol + 1);
 		
-		COLLADAFW::InstanceGeometry::TextureCoordinateBindingArray& tex_array = 
+		COLLADAFW::TextureCoordinateBindingArray& tex_array = 
 			cmaterial.getTextureCoordinateBindingArray();
 		TexIndexTextureArrayMap texindex_texarray_map = material_texture_mapping_map[ma];
 		unsigned int i;
@@ -1714,7 +1712,7 @@
 		MTFace *texture_face = NULL;
 		MTex *color_texture = NULL;
 		
-		COLLADAFW::InstanceGeometry::MaterialBindingArray& mat_array = 
+		COLLADAFW::MaterialBindingArray& mat_array =
 			geom->getMaterialBindings();
 		
 		// loop through geom's materials
@@ -3130,7 +3128,7 @@
 				ob = create_lamp_object(lamp[0], ob, sce);
 			}
 			else if (controller.getCount() != 0) {
-				COLLADAFW::InstanceController *geom = (COLLADAFW::InstanceController*)controller[0];
+				COLLADAFW::InstanceGeometry *geom = (COLLADAFW::InstanceGeometry*)controller[0];
 				ob = mesh_importer.create_mesh_object(node, geom, true, uid_material_map, material_texture_mapping_map);
 			}
 			// XXX instance_node is not supported yet
@@ -3284,7 +3282,6 @@
 		
 		int i = 0;
 		COLLADAFW::Color col;
-		COLLADAFW::Texture ctex;
 		MTex *mtex = NULL;
 		TexIndexTextureArrayMap texindex_texarray_map;
 		
@@ -3298,7 +3295,7 @@
 		}
 		// texture
 		else if (ef->getDiffuse().isTexture()) {
-			ctex = ef->getDiffuse().getTexture(); 
+			COLLADAFW::Texture ctex = ef->getDiffuse().getTexture(); 
 			mtex = create_texture(ef, ctex, ma, i, texindex_texarray_map);
 			if (mtex != NULL) {
 				mtex->mapto = MAP_COL;
@@ -3316,7 +3313,7 @@
 		}
 		// texture
 		else if (ef->getAmbient().isTexture()) {
-			ctex = ef->getAmbient().getTexture(); 
+			COLLADAFW::Texture ctex = ef->getAmbient().getTexture(); 
 			mtex = create_texture(ef, ctex, ma, i, texindex_texarray_map);
 			if (mtex != NULL) {
 				mtex->mapto = MAP_AMB; 
@@ -3333,7 +3330,7 @@
 		}
 		// texture
 		else if (ef->getSpecular().isTexture()) {
-			ctex = ef->getSpecular().getTexture(); 
+			COLLADAFW::Texture ctex = ef->getSpecular().getTexture(); 
 			mtex = create_texture(ef, ctex, ma, i, texindex_texarray_map);
 			if (mtex != NULL) {
 				mtex->mapto = MAP_SPEC; 
@@ -3350,7 +3347,7 @@
 		}
 		// texture
 		else if (ef->getReflective().isTexture()) {
-			ctex = ef->getReflective().getTexture(); 
+			COLLADAFW::Texture ctex = ef->getReflective().getTexture(); 
 			mtex = create_texture(ef, ctex, ma, i, texindex_texarray_map);
 			if (mtex != NULL) {
 				mtex->mapto = MAP_REF; 
@@ -3365,7 +3362,7 @@
 		}
 		// texture
 		else if (ef->getEmission().isTexture()) {
-			ctex = ef->getEmission().getTexture(); 
+			COLLADAFW::Texture ctex = ef->getEmission().getTexture(); 
 			mtex = create_texture(ef, ctex, ma, i, texindex_texarray_map);
 			if (mtex != NULL) {
 				mtex->mapto = MAP_EMIT; 





More information about the Bf-blender-cvs mailing list