[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [29215] branches/render25: Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29182 :29214
Campbell Barton
ideasman42 at gmail.com
Fri Jun 4 14:10:23 CEST 2010
Revision: 29215
http://projects.blender.org/plugins/scmsvn/viewcvs.php?view=rev&root=bf-blender&revision=29215
Author: campbellbarton
Date: 2010-06-04 14:10:23 +0200 (Fri, 04 Jun 2010)
Log Message:
-----------
Render Branch: svn merge https://svn.blender.org/svnroot/bf-blender/trunk/blender -r29182:29214
Modified Paths:
--------------
branches/render25/SConstruct
branches/render25/config/aix4-config.py
branches/render25/config/linuxcross-config.py
branches/render25/source/blender/blenloader/intern/readfile.c
branches/render25/source/blender/collada/DocumentExporter.cpp
branches/render25/source/blender/collada/DocumentExporter.h
branches/render25/source/blender/collada/DocumentImporter.cpp
branches/render25/source/blender/collada/DocumentImporter.h
branches/render25/source/blender/collada/SConscript
branches/render25/source/blender/collada/collada.cpp
branches/render25/source/blender/collada/collada.h
branches/render25/source/blender/collada/collada_internal.h
branches/render25/source/blender/editors/CMakeLists.txt
branches/render25/source/blender/editors/include/ED_view3d.h
branches/render25/source/blender/editors/interface/interface_widgets.c
branches/render25/source/blender/editors/object/object_add.c
branches/render25/source/blender/editors/screen/CMakeLists.txt
branches/render25/source/blender/editors/space_image/image_ops.c
branches/render25/source/blender/editors/space_view3d/view3d_header.c
branches/render25/source/blender/editors/space_view3d/view3d_select.c
branches/render25/source/blender/editors/space_view3d/view3d_view.c
branches/render25/source/blender/makesdna/DNA_scene_types.h
branches/render25/source/blender/makesrna/intern/rna_image.c
branches/render25/source/blender/makesrna/intern/rna_image_api.c
branches/render25/source/blender/makesrna/intern/rna_nodetree.c
branches/render25/source/blender/makesrna/intern/rna_scene.c
branches/render25/source/blender/makesrna/intern/rna_space.c
branches/render25/source/blender/modifiers/intern/MOD_solidify.c
branches/render25/source/blender/modifiers/intern/MOD_wave.c
branches/render25/source/creator/CMakeLists.txt
branches/render25/source/creator/creator.c
branches/render25/source/gameengine/PyDoc/bge.render.rst
branches/render25/source/gameengine/PyDoc/bge.types.rst
branches/render25/tools/Blender.py
Added Paths:
-----------
branches/render25/source/blender/editors/animation/CMakeLists.txt
branches/render25/source/blender/editors/armature/CMakeLists.txt
branches/render25/source/blender/editors/curve/CMakeLists.txt
branches/render25/source/blender/editors/datafiles/CMakeLists.txt
branches/render25/source/blender/editors/gpencil/CMakeLists.txt
branches/render25/source/blender/editors/interface/CMakeLists.txt
branches/render25/source/blender/editors/mesh/CMakeLists.txt
branches/render25/source/blender/editors/metaball/CMakeLists.txt
branches/render25/source/blender/editors/object/CMakeLists.txt
branches/render25/source/blender/editors/physics/CMakeLists.txt
branches/render25/source/blender/editors/render/CMakeLists.txt
branches/render25/source/blender/editors/sculpt_paint/CMakeLists.txt
branches/render25/source/blender/editors/sound/CMakeLists.txt
branches/render25/source/blender/editors/space_action/CMakeLists.txt
branches/render25/source/blender/editors/space_api/CMakeLists.txt
branches/render25/source/blender/editors/space_buttons/CMakeLists.txt
branches/render25/source/blender/editors/space_console/CMakeLists.txt
branches/render25/source/blender/editors/space_file/CMakeLists.txt
branches/render25/source/blender/editors/space_graph/CMakeLists.txt
branches/render25/source/blender/editors/space_image/CMakeLists.txt
branches/render25/source/blender/editors/space_info/CMakeLists.txt
branches/render25/source/blender/editors/space_logic/CMakeLists.txt
branches/render25/source/blender/editors/space_nla/CMakeLists.txt
branches/render25/source/blender/editors/space_node/CMakeLists.txt
branches/render25/source/blender/editors/space_outliner/CMakeLists.txt
branches/render25/source/blender/editors/space_script/CMakeLists.txt
branches/render25/source/blender/editors/space_sequencer/CMakeLists.txt
branches/render25/source/blender/editors/space_sound/CMakeLists.txt
branches/render25/source/blender/editors/space_text/CMakeLists.txt
branches/render25/source/blender/editors/space_time/CMakeLists.txt
branches/render25/source/blender/editors/space_userpref/CMakeLists.txt
branches/render25/source/blender/editors/space_view3d/CMakeLists.txt
branches/render25/source/blender/editors/transform/CMakeLists.txt
branches/render25/source/blender/editors/util/CMakeLists.txt
branches/render25/source/blender/editors/uvedit/CMakeLists.txt
Modified: branches/render25/SConstruct
===================================================================
--- branches/render25/SConstruct 2010-06-04 12:01:57 UTC (rev 29214)
+++ branches/render25/SConstruct 2010-06-04 12:10:23 UTC (rev 29215)
@@ -268,6 +268,7 @@
target_env_defs['WITH_BF_GAMEENGINE'] = False
target_env_defs['WITH_BF_OPENAL'] = False
target_env_defs['WITH_BF_OPENEXR'] = False
+ target_env_defs['WITH_BF_OPENMP'] = False
target_env_defs['WITH_BF_ICONV'] = False
target_env_defs['WITH_BF_INTERNATIONAL'] = False
target_env_defs['WITH_BF_OPENJPEG'] = False
Modified: branches/render25/config/aix4-config.py
===================================================================
--- branches/render25/config/aix4-config.py 2010-06-04 12:01:57 UTC (rev 29214)
+++ branches/render25/config/aix4-config.py 2010-06-04 12:10:23 UTC (rev 29215)
@@ -83,22 +83,11 @@
WITH_BF_GAMEENGINE='false'
-WITH_BF_ODE = 'false'
-BF_ODE = LIBDIR + '/ode'
-BF_ODE_INC = BF_ODE + '/include'
-BF_ODE_LIB = BF_ODE + '/lib/libode.a'
-
WITH_BF_BULLET = 'true'
BF_BULLET = '#extern/bullet2/src'
BF_BULLET_INC = '${BF_BULLET}'
BF_BULLET_LIB = 'extern_bullet'
-BF_SOLID = '#extern/solid'
-BF_SOLID_INC = '${BF_SOLID}'
-BF_SOLID_LIB = 'extern_solid'
-
-WITH_BF_YAFRAY = 'true'
-
#WITH_BF_NSPR = 'true'
#BF_NSPR = $(LIBDIR)/nspr
#BF_NSPR_INC = -I$(BF_NSPR)/include -I$(BF_NSPR)/include/nspr
Modified: branches/render25/config/linuxcross-config.py
===================================================================
--- branches/render25/config/linuxcross-config.py 2010-06-04 12:01:57 UTC (rev 29214)
+++ branches/render25/config/linuxcross-config.py 2010-06-04 12:10:23 UTC (rev 29215)
@@ -151,9 +151,7 @@
BF_OPENGL_INC = '${BF_OPENGL}/include'
BF_OPENGL_LIBINC = '${BF_OPENGL}/lib'
BF_OPENGL_LIB = 'opengl32 glu32'
-BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a',
- '${BF_OPENGL}/lib/libXmu.a', '${BF_OPENGL}/lib/libXext.a',
- '${BF_OPENGL}/lib/libX11.a', '${BF_OPENGL}/lib/libXi.a' ]
+BF_OPENGL_LIB_STATIC = [ '${BF_OPENGL}/lib/libGL.a', '${BF_OPENGL}/lib/libGLU.a']
WITH_BF_OPENMP = True
BF_OPENMP = LIBDIR + '/gcc/gomp'
Modified: branches/render25/source/blender/blenloader/intern/readfile.c
===================================================================
--- branches/render25/source/blender/blenloader/intern/readfile.c 2010-06-04 12:01:57 UTC (rev 29214)
+++ branches/render25/source/blender/blenloader/intern/readfile.c 2010-06-04 12:10:23 UTC (rev 29215)
@@ -10973,6 +10973,7 @@
/* put 2.50 compatibility code here until next subversion bump */
{
Object *ob;
+ Scene *scene;
bScreen *sc;
for (sc= main->screen.first; sc; sc= sc->id.next) {
@@ -11029,6 +11030,18 @@
}
}
}
+
+ /* initialise scene active layer */
+ for (scene= main->scene.first; scene; scene=scene->id.next) {
+ int i;
+ for(i=0; i<20; i++) {
+ if(scene->lay & (1<<i)) {
+ scene->layact= 1<<i;
+ break;
+ }
+ }
+ }
+
}
if (main->versionfile < 252 || (main->versionfile == 252 && main->subversionfile < 10))
Modified: branches/render25/source/blender/collada/DocumentExporter.cpp
===================================================================
--- branches/render25/source/blender/collada/DocumentExporter.cpp 2010-06-04 12:01:57 UTC (rev 29214)
+++ branches/render25/source/blender/collada/DocumentExporter.cpp 2010-06-04 12:10:23 UTC (rev 29215)
@@ -1,3 +1,26 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Jan Diederich, Tod Liverseed.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
#include <stdlib.h>
#include <stdio.h>
#include <math.h>
@@ -638,8 +661,8 @@
source.setAccessorCount(totuv);
source.setAccessorStride(2);
COLLADASW::SourceBase::ParameterNameList ¶m = source.getParameterNameList();
- param.push_back("X");
- param.push_back("Y");
+ param.push_back("S");
+ param.push_back("T");
source.prepareToAppendValues();
@@ -908,7 +931,7 @@
Object *ob_arm = get_assigned_armature(ob);
bArmature *arm = (bArmature*)ob_arm->data;
- const std::string& controller_id = get_controller_id(ob_arm);
+ const std::string& controller_id = get_controller_id(ob_arm, ob);
COLLADASW::InstanceController ins(mSW);
ins.setUrl(COLLADASW::URI(COLLADABU::Utils::EMPTY_STRING, controller_id));
@@ -1051,9 +1074,9 @@
TransformWriter::add_node_transform(node, mat, NULL);
}
- std::string get_controller_id(Object *ob_arm)
+ std::string get_controller_id(Object *ob_arm, Object *ob)
{
- return translate_id(id_name(ob_arm)) + SKIN_CONTROLLER_ID_SUFFIX;
+ return translate_id(id_name(ob_arm)) + "_" + translate_id(id_name(ob)) + SKIN_CONTROLLER_ID_SUFFIX;
}
// ob should be of type OB_MESH
@@ -1087,7 +1110,7 @@
if (!me->dvert) return;
std::string controller_name = id_name(ob_arm);
- std::string controller_id = get_controller_id(ob_arm);
+ std::string controller_id = get_controller_id(ob_arm, ob);
openSkin(controller_id, controller_name,
COLLADABU::URI(COLLADABU::Utils::EMPTY_STRING, get_geometry_id(ob)));
Modified: branches/render25/source/blender/collada/DocumentExporter.h
===================================================================
--- branches/render25/source/blender/collada/DocumentExporter.h 2010-06-04 12:01:57 UTC (rev 29214)
+++ branches/render25/source/blender/collada/DocumentExporter.h 2010-06-04 12:10:23 UTC (rev 29215)
@@ -1,3 +1,26 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
struct Scene;
class DocumentExporter
Modified: branches/render25/source/blender/collada/DocumentImporter.cpp
===================================================================
--- branches/render25/source/blender/collada/DocumentImporter.cpp 2010-06-04 12:01:57 UTC (rev 29214)
+++ branches/render25/source/blender/collada/DocumentImporter.cpp 2010-06-04 12:10:23 UTC (rev 29215)
@@ -1,3 +1,26 @@
+/**
+ * $Id$
+ *
+ * ***** BEGIN GPL LICENSE BLOCK *****
+ *
+ * This program is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU General Public License
+ * as published by the Free Software Foundation; either version 2
+ * of the License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Public License for more details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program; if not, write to the Free Software Foundation,
+ * Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
+ *
+ * Contributor(s): Chingiz Dyussenov, Arystanbek Dyussenov, Nathan Letwory.
+ *
+ * ***** END GPL LICENSE BLOCK *****
+ */
// TODO:
// * name imported objects
// * import object rotation as euler
@@ -396,8 +419,6 @@
std::vector<COLLADAFW::Node*> root_joints;
std::map<COLLADAFW::UniqueId, Object*> joint_parent_map;
- std::vector<Object*> armature_objects;
-
MeshImporterBase *mesh_importer;
AnimationImporterBase *anim_importer;
@@ -506,13 +527,11 @@
joint_data.push_back(jd);
}
- // called from write_controller
- Object *create_armature(const COLLADAFW::SkinController* co, Scene *scene)
+ void set_controller(const COLLADAFW::SkinController* co)
{
- ob_arm = add_object(scene, OB_ARMATURE);
-
controller_uid = co->getUniqueId();
+ // fill in joint UIDs
const COLLADAFW::UniqueIdArray& joint_uids = co->getJoints();
for (unsigned int i = 0; i < joint_uids.getCount(); i++) {
joint_data[i].joint_uid = joint_uids[i];
@@ -524,10 +543,24 @@
// now we'll be able to get inv bind matrix from joint id
// joint_id_to_joint_index_map[joint_ids[i]] = i;
}
+ }
+ // called from write_controller
+ Object *create_armature(Scene *scene)
+ {
+ ob_arm = add_object(scene, OB_ARMATURE);
return ob_arm;
}
+ Object* set_armature(Object *ob_arm)
+ {
+ if (this->ob_arm)
+ return this->ob_arm;
+
+ this->ob_arm = ob_arm;
+ return ob_arm;
+ }
+
bool get_joint_inv_bind_matrix(float inv_bind_mat[][4], COLLADAFW::Node *node)
{
const COLLADAFW::UniqueId& uid = node->getUniqueId();
@@ -552,10 +585,12 @@
return controller_uid;
}
+ // check if this skin controller references a joint or any descendant of it
+ //
// some nodes may not be referenced by SkinController,
// in this case to determine if the node belongs to this armature,
// we need to search down the tree
- bool uses_joint(COLLADAFW::Node *node)
+ bool uses_joint_or_descendant(COLLADAFW::Node *node)
{
const COLLADAFW::UniqueId& uid = node->getUniqueId();
std::vector<JointData>::iterator it;
@@ -566,7 +601,7 @@
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list