[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [51283] branches/meshdata_transfer: Rebranching from trunk.

Ove Murberg Henriksen sorayasilvermoon at hotmail.com
Fri Oct 12 11:50:23 CEST 2012


Revision: 51283
          http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=51283
Author:   cyborgmuppet
Date:     2012-10-12 09:50:22 +0000 (Fri, 12 Oct 2012)
Log Message:
-----------
Rebranching from trunk. 

Modified Paths:
--------------
    branches/meshdata_transfer/CMakeLists.txt
    branches/meshdata_transfer/GNUmakefile
    branches/meshdata_transfer/intern/cycles/blender/addon/ui.py
    branches/meshdata_transfer/intern/cycles/blender/blender_mesh.cpp
    branches/meshdata_transfer/intern/cycles/blender/blender_object.cpp
    branches/meshdata_transfer/intern/cycles/blender/blender_shader.cpp
    branches/meshdata_transfer/intern/cycles/blender/blender_sync.cpp
    branches/meshdata_transfer/intern/cycles/kernel/kernel_bvh.h
    branches/meshdata_transfer/intern/cycles/kernel/kernel_camera.h
    branches/meshdata_transfer/intern/cycles/kernel/kernel_montecarlo.h
    branches/meshdata_transfer/intern/cycles/kernel/kernel_object.h
    branches/meshdata_transfer/intern/cycles/kernel/kernel_path.h
    branches/meshdata_transfer/intern/cycles/kernel/kernel_shader.h
    branches/meshdata_transfer/intern/cycles/kernel/kernel_types.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_ashikhmin_velvet.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_diffuse.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_microfacet.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_oren_nayar.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_reflection.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_refraction.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_ward.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/bsdf_westin.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/svm.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/svm_closure.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/svm_displace.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/svm_geometry.h
    branches/meshdata_transfer/intern/cycles/kernel/svm/svm_types.h
    branches/meshdata_transfer/intern/cycles/render/attribute.cpp
    branches/meshdata_transfer/intern/cycles/render/camera.cpp
    branches/meshdata_transfer/intern/cycles/render/graph.cpp
    branches/meshdata_transfer/intern/cycles/render/graph.h
    branches/meshdata_transfer/intern/cycles/render/mesh.cpp
    branches/meshdata_transfer/intern/cycles/render/nodes.cpp
    branches/meshdata_transfer/intern/cycles/render/nodes.h
    branches/meshdata_transfer/intern/cycles/render/object.cpp
    branches/meshdata_transfer/intern/cycles/util/util_thread.h
    branches/meshdata_transfer/intern/cycles/util/util_types.h
    branches/meshdata_transfer/intern/elbeem/intern/utilities.cpp
    branches/meshdata_transfer/intern/smoke/CMakeLists.txt
    branches/meshdata_transfer/intern/smoke/extern/smoke_API.h
    branches/meshdata_transfer/intern/smoke/intern/FLUID_3D.cpp
    branches/meshdata_transfer/intern/smoke/intern/FLUID_3D.h
    branches/meshdata_transfer/intern/smoke/intern/FLUID_3D_SOLVERS.cpp
    branches/meshdata_transfer/intern/smoke/intern/FLUID_3D_STATIC.cpp
    branches/meshdata_transfer/intern/smoke/intern/WTURBULENCE.cpp
    branches/meshdata_transfer/intern/smoke/intern/WTURBULENCE.h
    branches/meshdata_transfer/intern/smoke/intern/smoke_API.cpp
    branches/meshdata_transfer/release/datafiles/blender_icons.png
    branches/meshdata_transfer/release/scripts/modules/addon_utils.py
    branches/meshdata_transfer/release/scripts/modules/bl_i18n_utils/spell_check_utils.py
    branches/meshdata_transfer/release/scripts/modules/console_python.py
    branches/meshdata_transfer/release/scripts/presets/keyconfig/maya.py
    branches/meshdata_transfer/release/scripts/startup/bl_operators/object_quick_effects.py
    branches/meshdata_transfer/release/scripts/startup/bl_operators/presets.py
    branches/meshdata_transfer/release/scripts/startup/bl_operators/wm.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_object_constraint.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_particle.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_physics_cloth.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_physics_common.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_physics_dynamicpaint.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_physics_field.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_physics_smoke.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_physics_softbody.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/properties_texture.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_clip.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_dopesheet.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_userpref.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d.py
    branches/meshdata_transfer/release/scripts/startup/bl_ui/space_view3d_toolbar.py
    branches/meshdata_transfer/source/blender/blenfont/BLF_api.h
    branches/meshdata_transfer/source/blender/blenfont/intern/blf.c
    branches/meshdata_transfer/source/blender/blenkernel/BKE_blender.h
    branches/meshdata_transfer/source/blender/blenkernel/BKE_key.h
    branches/meshdata_transfer/source/blender/blenkernel/BKE_multires.h
    branches/meshdata_transfer/source/blender/blenkernel/BKE_navmesh_conversion.h
    branches/meshdata_transfer/source/blender/blenkernel/BKE_node.h
    branches/meshdata_transfer/source/blender/blenkernel/BKE_smoke.h
    branches/meshdata_transfer/source/blender/blenkernel/BKE_utildefines.h
    branches/meshdata_transfer/source/blender/blenkernel/intern/anim.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/cloth.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/customdata.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/depsgraph.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/effect.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/fmodifier.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/ipo.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/mesh.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/node.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/particle.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/pointcache.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/smoke.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/texture.c
    branches/meshdata_transfer/source/blender/blenkernel/intern/tracking.c
    branches/meshdata_transfer/source/blender/blenkernel/nla_private.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_blenlib.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_bpath.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_dlrbTree.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_kdopbvh.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_math_vector.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_rect.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_string.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_string_utf8.h
    branches/meshdata_transfer/source/blender/blenlib/BLI_utildefines.h
    branches/meshdata_transfer/source/blender/blenlib/intern/math_vector_inline.c
    branches/meshdata_transfer/source/blender/blenlib/intern/rct.c
    branches/meshdata_transfer/source/blender/blenlib/intern/string.c
    branches/meshdata_transfer/source/blender/blenloader/intern/readfile.c
    branches/meshdata_transfer/source/blender/compositor/intern/COM_Node.h
    branches/meshdata_transfer/source/blender/compositor/intern/COM_NodeBase.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_ChannelMatteNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_ChromaMatteNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_ColorBalanceNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_ColorMatteNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_ColorRampNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_ColorSpillNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_DifferenceMatteNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_DistanceMatteNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_FilterNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_LuminanceMatteNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_MapValueNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_MaskNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_MovieClipNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_NormalNode.h
    branches/meshdata_transfer/source/blender/compositor/nodes/COM_TransformNode.h
    branches/meshdata_transfer/source/blender/editors/animation/anim_filter.c
    branches/meshdata_transfer/source/blender/editors/animation/anim_intern.h
    branches/meshdata_transfer/source/blender/editors/armature/meshlaplacian.c
    branches/meshdata_transfer/source/blender/editors/armature/poseobject.c
    branches/meshdata_transfer/source/blender/editors/curve/editcurve.c
    branches/meshdata_transfer/source/blender/editors/gpencil/gpencil_paint.c
    branches/meshdata_transfer/source/blender/editors/include/ED_keyframes_draw.h
    branches/meshdata_transfer/source/blender/editors/include/ED_mesh.h
    branches/meshdata_transfer/source/blender/editors/include/ED_object.h
    branches/meshdata_transfer/source/blender/editors/include/ED_view3d.h
    branches/meshdata_transfer/source/blender/editors/include/UI_icons.h
    branches/meshdata_transfer/source/blender/editors/interface/interface_widgets.c
    branches/meshdata_transfer/source/blender/editors/interface/view2d_ops.c
    branches/meshdata_transfer/source/blender/editors/mesh/editmesh_knife.c
    branches/meshdata_transfer/source/blender/editors/mesh/editmesh_loopcut.c
    branches/meshdata_transfer/source/blender/editors/mesh/editmesh_select.c
    branches/meshdata_transfer/source/blender/editors/mesh/editmesh_slide.c
    branches/meshdata_transfer/source/blender/editors/mesh/editmesh_tools.c
    branches/meshdata_transfer/source/blender/editors/mesh/mesh_intern.h
    branches/meshdata_transfer/source/blender/editors/mesh/meshtools.c
    branches/meshdata_transfer/source/blender/editors/object/CMakeLists.txt
    branches/meshdata_transfer/source/blender/editors/object/object_add.c
    branches/meshdata_transfer/source/blender/editors/object/object_intern.h
    branches/meshdata_transfer/source/blender/editors/object/object_lattice.c
    branches/meshdata_transfer/source/blender/editors/object/object_ops.c
    branches/meshdata_transfer/source/blender/editors/object/object_vgroup.c
    branches/meshdata_transfer/source/blender/editors/physics/dynamicpaint_ops.c
    branches/meshdata_transfer/source/blender/editors/render/render_preview.c
    branches/meshdata_transfer/source/blender/editors/render/render_shading.c
    branches/meshdata_transfer/source/blender/editors/screen/screen_ops.c
    branches/meshdata_transfer/source/blender/editors/space_clip/clip_draw.c
    branches/meshdata_transfer/source/blender/editors/space_clip/clip_ops.c
    branches/meshdata_transfer/source/blender/editors/space_clip/tracking_ops.c
    branches/meshdata_transfer/source/blender/editors/space_image/image_ops.c
    branches/meshdata_transfer/source/blender/editors/space_sequencer/sequencer_edit.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/drawobject.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/drawvolume.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/view3d_draw.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/view3d_edit.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/view3d_fly.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/view3d_intern.h
    branches/meshdata_transfer/source/blender/editors/space_view3d/view3d_ops.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/view3d_select.c
    branches/meshdata_transfer/source/blender/editors/space_view3d/view3d_view.c
    branches/meshdata_transfer/source/blender/editors/transform/transform.c
    branches/meshdata_transfer/source/blender/editors/transform/transform.h
    branches/meshdata_transfer/source/blender/editors/uvedit/uvedit_draw.c
    branches/meshdata_transfer/source/blender/editors/uvedit/uvedit_intern.h
    branches/meshdata_transfer/source/blender/editors/uvedit/uvedit_smart_stitch.c
    branches/meshdata_transfer/source/blender/gpu/GPU_extensions.h
    branches/meshdata_transfer/source/blender/gpu/intern/gpu_draw.c
    branches/meshdata_transfer/source/blender/gpu/intern/gpu_extensions.c
    branches/meshdata_transfer/source/blender/ikplugin/BIK_api.h
    branches/meshdata_transfer/source/blender/ikplugin/intern/ikplugin_api.h
    branches/meshdata_transfer/source/blender/ikplugin/intern/iksolver_plugin.h
    branches/meshdata_transfer/source/blender/ikplugin/intern/itasc_plugin.h
    branches/meshdata_transfer/source/blender/imbuf/IMB_imbuf_types.h
    branches/meshdata_transfer/source/blender/imbuf/intern/dds/BlockDXT.h
    branches/meshdata_transfer/source/blender/imbuf/intern/dds/Color.h
    branches/meshdata_transfer/source/blender/imbuf/intern/dds/ColorBlock.h
    branches/meshdata_transfer/source/blender/imbuf/intern/dds/DirectDrawSurface.h
    branches/meshdata_transfer/source/blender/imbuf/intern/dds/Image.h
    branches/meshdata_transfer/source/blender/imbuf/intern/dds/PixelFormat.h
    branches/meshdata_transfer/source/blender/imbuf/intern/dds/Stream.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_action_types.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_mask_types.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_object_force.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_smoke_types.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_texture_types.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_tracking_types.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_userdef_types.h
    branches/meshdata_transfer/source/blender/makesdna/DNA_windowmanager_types.h
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_action.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_define.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_image_api.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_main_api.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_material.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_modifier.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_nodetree_types.h
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_object_force.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_particle.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_smoke.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_texture.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_texture_api.c
    branches/meshdata_transfer/source/blender/makesrna/intern/rna_tracking.c
    branches/meshdata_transfer/source/blender/modifiers/MOD_modifiertypes.h
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_boolean_util.h
    branches/meshdata_transfer/source/blender/modifiers/intern/MOD_smoke.c
    branches/meshdata_transfer/source/blender/nodes/CMakeLists.txt
    branches/meshdata_transfer/source/blender/nodes/NOD_shader.h
    branches/meshdata_transfer/source/blender/nodes/shader/nodes/node_shader_bsdf_anisotropic.c
    branches/meshdata_transfer/source/blender/nodes/shader/nodes/node_shader_bsdf_diffuse.c
    branches/meshdata_transfer/source/blender/nodes/shader/nodes/node_shader_bsdf_glass.c
    branches/meshdata_transfer/source/blender/nodes/shader/nodes/node_shader_bsdf_glossy.c
    branches/meshdata_transfer/source/blender/nodes/shader/nodes/node_shader_bsdf_translucent.c
    branches/meshdata_transfer/source/blender/nodes/shader/nodes/node_shader_bsdf_velvet.c
    branches/meshdata_transfer/source/blender/python/generic/idprop_py_api.c
    branches/meshdata_transfer/source/blender/python/generic/py_capi_utils.h
    branches/meshdata_transfer/source/blender/python/intern/bpy_app.h
    branches/meshdata_transfer/source/blender/python/intern/bpy_app_ffmpeg.h
    branches/meshdata_transfer/source/blender/python/intern/bpy_app_handlers.h
    branches/meshdata_transfer/source/blender/python/intern/bpy_driver.h
    branches/meshdata_transfer/source/blender/python/intern/bpy_traceback.h
    branches/meshdata_transfer/source/blender/python/mathutils/mathutils_noise.c
    branches/meshdata_transfer/source/blender/python/mathutils/mathutils_noise.h
    branches/meshdata_transfer/source/blender/quicktime/quicktime_export.h
    branches/meshdata_transfer/source/blender/quicktime/quicktime_import.h
    branches/meshdata_transfer/source/blender/render/intern/include/render_types.h
    branches/meshdata_transfer/source/blender/render/intern/raytrace/svbvh.h
    branches/meshdata_transfer/source/blender/render/intern/source/envmap.c
    branches/meshdata_transfer/source/blender/render/intern/source/pipeline.c
    branches/meshdata_transfer/source/blender/render/intern/source/pointdensity.c
    branches/meshdata_transfer/source/blender/render/intern/source/render_texture.c
    branches/meshdata_transfer/source/blender/render/intern/source/voxeldata.c
    branches/meshdata_transfer/source/blender/windowmanager/WM_types.h
    branches/meshdata_transfer/source/blender/windowmanager/intern/wm_operators.c
    branches/meshdata_transfer/source/gameengine/BlenderRoutines/KX_BlenderCanvas.h
    branches/meshdata_transfer/source/gameengine/BlenderRoutines/KX_BlenderGL.h
    branches/meshdata_transfer/source/gameengine/BlenderRoutines/KX_BlenderInputDevice.h
    branches/meshdata_transfer/source/gameengine/BlenderRoutines/KX_BlenderKeyboardDevice.h
    branches/meshdata_transfer/source/gameengine/BlenderRoutines/KX_BlenderMouseDevice.h
    branches/meshdata_transfer/source/gameengine/BlenderRoutines/KX_BlenderRenderTools.h
    branches/meshdata_transfer/source/gameengine/BlenderRoutines/KX_BlenderSystem.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ActionActuator.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ArmatureActuator.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ArmatureChannel.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ArmatureConstraint.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ArmatureObject.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_BlenderDataConversion.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_DeformableGameObject.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_MeshDeformer.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ModifierDeformer.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ShapeActionActuator.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_ShapeDeformer.h
    branches/meshdata_transfer/source/gameengine/Converter/BL_SkinDeformer.h
    branches/meshdata_transfer/source/gameengine/Converter/BlenderWorldInfo.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_BlenderScalarInterpolator.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_BlenderSceneConverter.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_ConvertActuators.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_ConvertControllers.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_ConvertProperties.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_ConvertSensors.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_IpoConvert.h
    branches/meshdata_transfer/source/gameengine/Converter/KX_SoftBodyDeformer.h
    branches/meshdata_transfer/source/gameengine/Expressions/BoolValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/ConstExpr.h
    branches/meshdata_transfer/source/gameengine/Expressions/EXP_C-Api.h
    branches/meshdata_transfer/source/gameengine/Expressions/EmptyValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/ErrorValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/Expression.h
    branches/meshdata_transfer/source/gameengine/Expressions/FloatValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/IdentifierExpr.h
    branches/meshdata_transfer/source/gameengine/Expressions/IfExpr.h
    branches/meshdata_transfer/source/gameengine/Expressions/IntValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/KX_HashedPtr.h
    branches/meshdata_transfer/source/gameengine/Expressions/KX_Python.h
    branches/meshdata_transfer/source/gameengine/Expressions/ListValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/Operator1Expr.h
    branches/meshdata_transfer/source/gameengine/Expressions/Operator2Expr.h
    branches/meshdata_transfer/source/gameengine/Expressions/PyObjectPlus.h
    branches/meshdata_transfer/source/gameengine/Expressions/StringValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/Value.h
    branches/meshdata_transfer/source/gameengine/Expressions/VectorValue.h
    branches/meshdata_transfer/source/gameengine/Expressions/VoidValue.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_ANDController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_ActuatorEventManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_ActuatorSensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_AlwaysEventManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_AlwaysSensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_BasicEventManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_DelaySensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_ExpressionController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_IActuator.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_IController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_IInputDevice.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_ILogicBrick.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_IObject.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_IScene.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_ISensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_JoystickSensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_KeyboardManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_KeyboardSensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_LogicManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_MouseManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_MouseSensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_NANDController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_NORController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_ORController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_PropertyActuator.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_PropertyEventManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_PythonController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_PythonKeyboard.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_PythonMouse.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_RandomActuator.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_RandomEventManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_RandomSensor.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_TimeEventManager.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_XNORController.h
    branches/meshdata_transfer/source/gameengine/GameLogic/SCA_XORController.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_Canvas.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_Engine.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_KeyboardDevice.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_MouseDevice.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_RawImage.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_RawLoadDotBlendArray.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_RawLogoArrays.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_RenderTools.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/common/GPC_System.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/ghost/GPG_Canvas.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/ghost/GPG_KeyboardDevice.h
    branches/meshdata_transfer/source/gameengine/GamePlayer/ghost/GPG_System.h
    branches/meshdata_transfer/source/gameengine/Ketsji/BL_Action.h
    branches/meshdata_transfer/source/gameengine/Ketsji/BL_ActionManager.h
    branches/meshdata_transfer/source/gameengine/Ketsji/BL_BlenderShader.h
    branches/meshdata_transfer/source/gameengine/Ketsji/BL_Shader.h
    branches/meshdata_transfer/source/gameengine/Ketsji/BL_Texture.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KXNetwork/KX_NetworkEventManager.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KXNetwork/KX_NetworkMessageSensor.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ArmatureSensor.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_BlenderMaterial.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_BulletPhysicsController.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_Camera.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_CameraActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_CameraIpoSGController.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ClientObjectInfo.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ConstraintActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ConstraintWrapper.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ConvertPhysicsObject.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_EmptyObject.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_FontObject.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_GameObject.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_IPO_SGController.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_IPhysicsController.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ISceneConverter.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_IpoActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_KetsjiEngine.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_Light.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_LightIpoSGController.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_MaterialIpoController.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_MeshProxy.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_MotionState.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_MouseFocusSensor.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_NavMeshObject.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_NearSensor.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ObColorIpoSGController.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ObjectActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_ParentActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PhysicsEngineEnums.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PhysicsObjectWrapper.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PhysicsPropertiesobsolete.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PolyProxy.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PolygonMaterial.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PyConstraintBinding.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PyMath.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PythonInit.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_PythonSeq.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_RadarSensor.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_RayEventManager.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_RaySensor.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_SCA_AddObjectActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_SCA_ReplaceMeshActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_Scene.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_SceneActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_SoundActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_SteeringActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_TimeCategoryLogger.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_TimeLogger.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_TouchEventManager.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_TouchSensor.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_TrackToActuator.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_VehicleWrapper.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_VertexProxy.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_WorldInfo.h
    branches/meshdata_transfer/source/gameengine/Ketsji/KX_WorldIpoController.h
    branches/meshdata_transfer/source/gameengine/Network/LoopBackNetwork/NG_LoopBackNetworkDeviceInterface.h
    branches/meshdata_transfer/source/gameengine/Network/NG_NetworkDeviceInterface.h
    branches/meshdata_transfer/source/gameengine/Network/NG_NetworkMessage.h
    branches/meshdata_transfer/source/gameengine/Network/NG_NetworkObject.h
    branches/meshdata_transfer/source/gameengine/Network/NG_NetworkScene.h
    branches/meshdata_transfer/source/gameengine/Physics/Bullet/CcdGraphicController.h
    branches/meshdata_transfer/source/gameengine/Physics/Bullet/CcdPhysicsController.h
    branches/meshdata_transfer/source/gameengine/Physics/Bullet/CcdPhysicsEnvironment.h
    branches/meshdata_transfer/source/gameengine/Physics/Dummy/DummyPhysicsEnvironment.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_DynamicTypes.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_IController.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_IGraphicController.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_IMotionState.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_IPhysicsController.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_IPhysicsEnvironment.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_IVehicle.h
    branches/meshdata_transfer/source/gameengine/Physics/common/PHY_Pro.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_BucketManager.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_CameraData.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_Deformer.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_ICanvas.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_IPolygonMaterial.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_IRasterizer.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_IRenderTools.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_LightObject.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_MaterialBucket.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_MeshObject.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_ObjectColor.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_OpenGLRasterizer.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_OpenGLRasterizer/RAS_VAOpenGLRasterizer.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_Rect.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_TexMatrix.h
    branches/meshdata_transfer/source/gameengine/Rasterizer/RAS_TexVert.h
    branches/meshdata_transfer/source/gameengine/SceneGraph/SG_Controller.h
    branches/meshdata_transfer/source/gameengine/SceneGraph/SG_DList.h
    branches/meshdata_transfer/source/gameengine/SceneGraph/SG_IObject.h
    branches/meshdata_transfer/source/gameengine/SceneGraph/SG_Node.h
    branches/meshdata_transfer/source/gameengine/SceneGraph/SG_QList.h
    branches/meshdata_transfer/source/gameengine/SceneGraph/SG_Spatial.h
    branches/meshdata_transfer/source/gameengine/VideoTexture/VideoFFmpeg.h
    branches/meshdata_transfer/source/tools/check_style_c.py

Added Paths:
-----------
    branches/meshdata_transfer/intern/smoke/intern/spectrum.cpp
    branches/meshdata_transfer/intern/smoke/intern/spectrum.h
    branches/meshdata_transfer/source/blender/editors/object/object_iterators.c
    branches/meshdata_transfer/source/blender/nodes/shader/nodes/node_shader_bump.c

Property Changed:
----------------
    branches/meshdata_transfer/
    branches/meshdata_transfer/build_files/cmake/
    branches/meshdata_transfer/source/blender/editors/interface/interface.c
    branches/meshdata_transfer/source/blender/editors/space_outliner/


Property changes on: branches/meshdata_transfer
___________________________________________________________________
Modified: svn:mergeinfo
   - /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126
/trunk/blender:44563-51208
   + /branches/ge_harmony:42255,42279-42282,42286,42302,42338,42349,42616,42620,42698-42699,42739,42753,42773-42774,42832,44568,44597-44598,44793-44794
/branches/soc-2011-cucumber:37517,38166-38167,38177,38179-38180,38187,38242,38384,38387,38403-38404,38407,38968,38970,38973,39045,40845,42997-42998,43439
/branches/soc-2011-tomato:42376,42378-42379,42383,42385,42395,42397-42400,42407,42411,42418,42443-42444,42446,42467,42472,42486,42650-42652,42654-42655,42709-42710,42733-42734,42801,43872,44130,44141,44147-44149,44151-44152,44229-44230,45623-45625,46037,48089,48092,48551-48552,48679,48790,48792-48793,49076,49087,49292,49294,49466,49894,50052,50126
/trunk/blender:44563-51282

Modified: branches/meshdata_transfer/CMakeLists.txt
===================================================================
--- branches/meshdata_transfer/CMakeLists.txt	2012-10-12 04:00:41 UTC (rev 51282)
+++ branches/meshdata_transfer/CMakeLists.txt	2012-10-12 09:50:22 UTC (rev 51283)
@@ -1609,7 +1609,7 @@
 	if(WITH_OPENIMAGEIO)
 		set(OPENIMAGEIO ${LIBDIR}/openimageio)
 		set(OPENIMAGEIO_INCLUDE_DIRS ${OPENIMAGEIO}/include)
-		set(OPENIMAGEIO_LIBRARIES -force_load ${OPENIMAGEIO}/lib/libOpenImageIO.a ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES})
+		set(OPENIMAGEIO_LIBRARIES ${OPENIMAGEIO}/lib/libOpenImageIO.a ${PNG_LIBRARIES} ${JPEG_LIBRARIES} ${TIFF_LIBRARY} ${OPENEXR_LIBRARIES} ${ZLIB_LIBRARIES})
 		set(OPENIMAGEIO_LIBPATH ${OPENIMAGEIO}/lib ${JPEG_LIBPATH} ${PNG_LIBPATH} ${TIFF_LIBPATH} ${OPENEXR_LIBPATH} ${ZLIB_LIBPATH})
 		set(OPENIMAGEIO_DEFINITIONS "-DOIIO_STATIC_BUILD")
 	endif()

Modified: branches/meshdata_transfer/GNUmakefile
===================================================================
--- branches/meshdata_transfer/GNUmakefile	2012-10-12 04:00:41 UTC (rev 51282)
+++ branches/meshdata_transfer/GNUmakefile	2012-10-12 09:50:22 UTC (rev 51283)
@@ -168,6 +168,7 @@
 	@echo "  * test_pep8       - checks all python script are pep8 which are tagged to use the stricter formatting"
 	@echo "  * test_deprecated - checks for deprecation tags in our code which may need to be removed"
 	@echo "  * test_style      - checks C/C++ conforms with blenders style guide: http://wiki.blender.org/index.php/Dev:Doc/CodeStyle"
+	@echo "  * test_style_qtc  - same as test_style but outputs QtCreator tasks format"
 	@echo ""
 	@echo "Static Source Code Checking (not associated with building blender)"
 	@echo "  * check_cppcheck    - run blender source through cppcheck (C & C++)"
@@ -178,6 +179,9 @@
 	@echo "  * check_spelling_c  - check for spelling errors (C/C++ only)"
 	@echo "  * check_spelling_py - check for spelling errors (Python only)"
 	@echo ""
+	@echo "Utilities (not associated with building blender)"
+	@echo "  * tbz      - create a compressed svn export 'blender_archive.tar.bz2'"
+	@echo ""
 	@echo "Documentation Targets (not associated with building blender)"
 	@echo "  * doc_py   - generate sphinx python api docs"
 	@echo "  * doc_doxy - generate doxygen C/C++ docs"
@@ -223,6 +227,14 @@
 	# run our own checks on C/C++ style
 	PYTHONIOENCODING=utf_8 python3.2 $(BLENDER_DIR)/source/tools/check_style_c.py $(BLENDER_DIR)/source/blender $(BLENDER_DIR)/source/creator --no-length-check
 
+test_style_qtc:
+	# run our own checks on C/C++ style
+	USE_QTC_TASK=1 \
+	PYTHONIOENCODING=utf_8 python3.2 $(BLENDER_DIR)/source/tools/check_style_c.py $(BLENDER_DIR)/source/blender $(BLENDER_DIR)/source/creator --no-length-check > \
+	test_style.tasks
+
+	@echo "written: test_style.tasks"
+
 # -----------------------------------------------------------------------------
 # Project Files
 #
@@ -267,7 +279,19 @@
 check_spelling_c:
 	cd $(BUILD_DIR) ; PYTHONIOENCODING=utf_8 python3.2 $(BLENDER_DIR)/source/tools/spell_check_source.py $(BLENDER_DIR)/source
 
+
 # -----------------------------------------------------------------------------
+# Utilities
+#
+
+tbz:
+	svn export . blender_archive
+	tar cjf blender_archive.tar.bz2 blender_archive/
+	rm -rf blender_archive/
+	@echo "blender_archive.tar.bz2 written"
+
+
+# -----------------------------------------------------------------------------
 # Documentation
 #
 


Property changes on: branches/meshdata_transfer/build_files/cmake
___________________________________________________________________
Added: svn:ignore
   + __pycache__


Modified: branches/meshdata_transfer/intern/cycles/blender/addon/ui.py
===================================================================
--- branches/meshdata_transfer/intern/cycles/blender/addon/ui.py	2012-10-12 04:00:41 UTC (rev 51282)
+++ branches/meshdata_transfer/intern/cycles/blender/addon/ui.py	2012-10-12 09:50:22 UTC (rev 51283)
@@ -131,13 +131,9 @@
 
 
 class CyclesRender_PT_motion_blur(CyclesButtonsPanel, Panel):
-    bl_label = "Motion Blur"
+    bl_label = "Camera Motion Blur"
     bl_options = {'DEFAULT_CLOSED'}
 
-    @classmethod
-    def poll(cls, context):
-        return False
-
     def draw_header(self, context):
         rd = context.scene.render
 

Modified: branches/meshdata_transfer/intern/cycles/blender/blender_mesh.cpp
===================================================================
--- branches/meshdata_transfer/intern/cycles/blender/blender_mesh.cpp	2012-10-12 04:00:41 UTC (rev 51282)
+++ branches/meshdata_transfer/intern/cycles/blender/blender_mesh.cpp	2012-10-12 09:50:22 UTC (rev 51283)
@@ -33,6 +33,44 @@
 
 /* Find/Add */
 
+static float3 tangent_uv_from_generated(float3 P)
+{
+	float length = len(P);
+
+	if(length == 0.0f)
+		return make_float3(0.0f, 0.0f, 0.0f);
+
+	float u = 0.0f;
+	if(!(P.x == 0.0f && P.y == 0.0f))
+		u = (1.0f - atan2f(P.x, P.y))/(2.0f*M_PI_F);
+	
+	float v = 1.0f - acosf(clamp(P.z/length, -1.0f, 1.0f))/M_PI_F;
+
+	return make_float3(u, v, 0.0f);
+}
+
+static float3 tangent_from_triangle(float3 v0, float3 v1, float3 v2, float3 tx0, float3 tx1, float3 tx2)
+{
+	float3 duv1 = tx2 - tx0;
+	float3 duv2 = tx2 - tx1;
+	float3 dp1 = v2 - v0;
+	float3 dp2 = v2 - v1;
+	float det = duv1[0] * duv2[1] - duv1[1] * duv2[0];
+
+	if(det != 0.0f) {
+		return normalize(dp1 * duv2[1] - dp2 * duv1[1]);
+	}
+	else {
+		/* give back a sane default, using a valid edge as a fallback */
+		float3 edge = v1 - v0;
+
+		if(len(edge) == 0.0f)
+			edge = v2 - v0;
+
+		return normalize(edge);
+	}
+}
+
 static void create_mesh(Scene *scene, Mesh *mesh, BL::Mesh b_mesh, const vector<uint>& used_shaders)
 {
 	/* create vertices */
@@ -67,27 +105,6 @@
 		nverts.push_back(n);
 	}
 
-	/* create generated coordinates. todo: we should actually get the orco
-	 * coordinates from modifiers, for now we use texspace loc/size which
-	 * is available in the api. */
-	if(mesh->need_attribute(scene, ATTR_STD_GENERATED)) {
-		Attribute *attr = mesh->attributes.add(ATTR_STD_GENERATED);
-		float3 loc = get_float3(b_mesh.texspace_location());
-		float3 size = get_float3(b_mesh.texspace_size());
-
-		if(size.x != 0.0f) size.x = 0.5f/size.x;
-		if(size.y != 0.0f) size.y = 0.5f/size.y;
-		if(size.z != 0.0f) size.z = 0.5f/size.z;
-
-		loc = loc*size - make_float3(0.5f, 0.5f, 0.5f);
-
-		float3 *fdata = attr->data_float3();
-		size_t i = 0;
-
-		for(b_mesh.vertices.begin(v); v != b_mesh.vertices.end(); ++v)
-			fdata[i++] = get_float3(v->co())*size - loc;
-	}
-
 	/* create vertex color attributes */
 	{
 		BL::Mesh::tessface_vertex_colors_iterator l;
@@ -157,6 +174,139 @@
 			}
 		}
 	}
+
+	/* create texcoord-based tangent attributes */
+	bool need_tangent = mesh->need_attribute(scene, ATTR_STD_TANGENT);
+
+	if(need_tangent) {
+		BL::Mesh::tessface_uv_textures_iterator l;
+
+		for(b_mesh.tessface_uv_textures.begin(l); l != b_mesh.tessface_uv_textures.end(); ++l) {
+			if(!l->active_render())
+				continue;
+
+			Attribute *attr = mesh->attributes.add(ATTR_STD_TANGENT, ustring("Tangent"));
+
+			/* compute average tangents per vertex */
+			float3 *tangents = attr->data_float3();
+			memset(tangents, 0, sizeof(float3)*mesh->verts.size());
+
+			BL::MeshTextureFaceLayer::data_iterator t;
+
+			size_t fi = 0; /* face index */
+			b_mesh.tessfaces.begin(f);
+			for(l->data.begin(t); t != l->data.end() && f != b_mesh.tessfaces.end(); ++t, ++fi, ++f) {
+				int4 vi = get_int4(f->vertices_raw());
+
+				float3 tx0 = get_float3(t->uv1());
+				float3 tx1 = get_float3(t->uv2());
+				float3 tx2 = get_float3(t->uv3());
+
+				float3 v0 = mesh->verts[vi[0]];
+				float3 v1 = mesh->verts[vi[1]];
+				float3 v2 = mesh->verts[vi[2]];
+
+				/* calculate tangent for the triangle;
+				 * get vertex positions, and find change in position with respect
+				 * to the texture coords in the first texture coord dimension */
+				float3 tangent0 = tangent_from_triangle(v0, v1, v2, tx0, tx1, tx2);
+
+				if(nverts[fi] == 4) {
+					/* quad tangent */
+					float3 tx3 = get_float3(t->uv4());
+					float3 v3 = mesh->verts[vi[3]];
+					float3 tangent1 = tangent_from_triangle(v0, v2, v3, tx0, tx2, tx3);
+
+					tangents[vi[0]] += 0.5f*(tangent0 + tangent1);
+					tangents[vi[1]] += tangent0;
+					tangents[vi[2]] += 0.5f*(tangent0 + tangent1);
+					tangents[vi[3]] += tangent1;
+				}
+				else {
+					/* triangle tangent */
+					tangents[vi[0]] += tangent0;
+					tangents[vi[1]] += tangent0;
+					tangents[vi[2]] += tangent0;
+				}
+			}
+
+			/* normalize tangent vectors */
+			for(int i = 0; i < mesh->verts.size(); i++)
+				tangents[i] = normalize(tangents[i]);
+
+			need_tangent = false;
+		}
+	}
+
+	/* create generated coordinates. todo: we should actually get the orco
+	 * coordinates from modifiers, for now we use texspace loc/size which
+	 * is available in the api. */

@@ Diff output truncated at 10240 characters. @@



More information about the Bf-blender-cvs mailing list