[Bf-blender-cvs] SVN commit: /data/svn/bf-blender [42562] branches/soc-2008-mxcurioni: Merged changes in the trunk up to revision 42556.
Tamito Kajiyama
rd6t-kjym at asahi-net.or.jp
Sat Dec 10 21:54:51 CET 2011
Revision: 42562
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42562
Author: kjym3
Date: 2011-12-10 20:54:43 +0000 (Sat, 10 Dec 2011)
Log Message:
-----------
Merged changes in the trunk up to revision 42556.
Conflicts resolved:
source/blender/editors/space_view3d/drawobject.c
Revision Links:
--------------
http://projects.blender.org/scm/viewvc.php?view=rev&root=bf-blender&revision=42556
Modified Paths:
--------------
branches/soc-2008-mxcurioni/SConstruct
branches/soc-2008-mxcurioni/build_files/cmake/cmake_qtcreator_project.py
branches/soc-2008-mxcurioni/build_files/scons/tools/Blender.py
branches/soc-2008-mxcurioni/build_files/scons/tools/btools.py
branches/soc-2008-mxcurioni/doc/manpage/blender.1
branches/soc-2008-mxcurioni/extern/libmv/libmv/numeric/numeric.h
branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/brute_region_tracker.cc
branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.cc
branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.h
branches/soc-2008-mxcurioni/extern/libmv/libmv-capi.cpp
branches/soc-2008-mxcurioni/extern/libmv/libmv-capi.h
branches/soc-2008-mxcurioni/extern/libmv/third_party/glog/src/config.h
branches/soc-2008-mxcurioni/intern/cycles/blender/addon/ui.py
branches/soc-2008-mxcurioni/intern/cycles/blender/blender_mesh.cpp
branches/soc-2008-mxcurioni/intern/cycles/blender/blender_object.cpp
branches/soc-2008-mxcurioni/intern/cycles/blender/blender_shader.cpp
branches/soc-2008-mxcurioni/intern/cycles/blender/blender_sync.cpp
branches/soc-2008-mxcurioni/intern/cycles/blender/blender_sync.h
branches/soc-2008-mxcurioni/intern/cycles/kernel/CMakeLists.txt
branches/soc-2008-mxcurioni/intern/cycles/kernel/SConscript
branches/soc-2008-mxcurioni/intern/cycles/render/mesh.cpp
branches/soc-2008-mxcurioni/intern/cycles/render/sobol.cpp
branches/soc-2008-mxcurioni/intern/cycles/render/sobol.h
branches/soc-2008-mxcurioni/intern/cycles/util/util_md5.cpp
branches/soc-2008-mxcurioni/release/scripts/modules/bpy_extras/image_utils.py
branches/soc-2008-mxcurioni/release/scripts/modules/bpy_extras/io_utils.py
branches/soc-2008-mxcurioni/release/scripts/presets/tracking_settings/default.py
branches/soc-2008-mxcurioni/release/scripts/presets/tracking_settings/fast_motion.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/object_randomize_transform.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_operators/wm.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_render.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_texture.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_clip.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_userpref.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d.py
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/space_view3d_toolbar.py
branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_DerivedMesh.h
branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_blender.h
branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_deform.h
branches/soc-2008-mxcurioni/source/blender/blenkernel/BKE_mesh.h
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/DerivedMesh.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/armature.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/brush.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/cdderivedmesh.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/deform.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/dynamicpaint.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/editderivedmesh.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/mesh_validate.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/particle.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/seqeffects.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/tracking.c
branches/soc-2008-mxcurioni/source/blender/blenkernel/intern/unit.c
branches/soc-2008-mxcurioni/source/blender/blenloader/intern/readfile.c
branches/soc-2008-mxcurioni/source/blender/editors/animation/anim_ipo_utils.c
branches/soc-2008-mxcurioni/source/blender/editors/animation/keyframing.c
branches/soc-2008-mxcurioni/source/blender/editors/armature/editarmature.c
branches/soc-2008-mxcurioni/source/blender/editors/armature/poseobject.c
branches/soc-2008-mxcurioni/source/blender/editors/interface/interface_handlers.c
branches/soc-2008-mxcurioni/source/blender/editors/interface/resources.c
branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh.c
branches/soc-2008-mxcurioni/source/blender/editors/mesh/editmesh_mods.c
branches/soc-2008-mxcurioni/source/blender/editors/object/object_add.c
branches/soc-2008-mxcurioni/source/blender/editors/object/object_ops.c
branches/soc-2008-mxcurioni/source/blender/editors/object/object_select.c
branches/soc-2008-mxcurioni/source/blender/editors/object/object_vgroup.c
branches/soc-2008-mxcurioni/source/blender/editors/render/render_internal.c
branches/soc-2008-mxcurioni/source/blender/editors/screen/screendump.c
branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/paint_vertex.c
branches/soc-2008-mxcurioni/source/blender/editors/sculpt_paint/sculpt.c
branches/soc-2008-mxcurioni/source/blender/editors/space_clip/clip_graph_draw.c
branches/soc-2008-mxcurioni/source/blender/editors/space_node/node_draw.c
branches/soc-2008-mxcurioni/source/blender/editors/space_node/node_edit.c
branches/soc-2008-mxcurioni/source/blender/editors/space_outliner/outliner_select.c
branches/soc-2008-mxcurioni/source/blender/editors/space_outliner/outliner_tree.c
branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawmesh.c
branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/drawobject.c
branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/view3d_snap.c
branches/soc-2008-mxcurioni/source/blender/editors/space_view3d/view3d_view.c
branches/soc-2008-mxcurioni/source/blender/gpu/GPU_draw.h
branches/soc-2008-mxcurioni/source/blender/gpu/GPU_material.h
branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_codegen.c
branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_draw.c
branches/soc-2008-mxcurioni/source/blender/gpu/intern/gpu_material.c
branches/soc-2008-mxcurioni/source/blender/makesdna/DNA_object_types.h
branches/soc-2008-mxcurioni/source/blender/makesdna/DNA_userdef_types.h
branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_access.c
branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_curve.c
branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_main_api.c
branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_nodetree.c
branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_object_api.c
branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_tracking.c
branches/soc-2008-mxcurioni/source/blender/makesrna/intern/rna_userdef.c
branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_hook.c
branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_mask.c
branches/soc-2008-mxcurioni/source/blender/modifiers/intern/MOD_weightvg_util.c
branches/soc-2008-mxcurioni/source/blender/python/intern/bpy_driver.c
branches/soc-2008-mxcurioni/source/blender/python/intern/gpu.c
branches/soc-2008-mxcurioni/source/blender/render/intern/source/pipeline.c
branches/soc-2008-mxcurioni/source/blender/render/intern/source/render_texture.c
branches/soc-2008-mxcurioni/source/blender/windowmanager/WM_api.h
branches/soc-2008-mxcurioni/source/blender/windowmanager/intern/wm_draw.c
branches/soc-2008-mxcurioni/source/blender/windowmanager/intern/wm_gesture.c
branches/soc-2008-mxcurioni/source/gameengine/Converter/BL_SkinDeformer.cpp
branches/soc-2008-mxcurioni/source/gameengine/Ketsji/BL_BlenderShader.cpp
Added Paths:
-----------
branches/soc-2008-mxcurioni/extern/libmv/third_party/glog/src/config_freebsd.h
branches/soc-2008-mxcurioni/release/scripts/presets/tracking_settings/blurry_footage.py
Removed Paths:
-------------
branches/soc-2008-mxcurioni/release/scripts/presets/tracking_settings/blurry_movie.py
Property Changed:
----------------
branches/soc-2008-mxcurioni/
branches/soc-2008-mxcurioni/release/scripts/startup/bl_ui/properties_texture.py
branches/soc-2008-mxcurioni/source/blender/editors/space_outliner/
Property changes on: branches/soc-2008-mxcurioni
___________________________________________________________________
Modified: svn:mergeinfo
- /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379
/trunk/blender:34011-39896,39898-40096,40098-42425
+ /branches/soc-2011-cucumber:37517
/branches/soc-2011-tomato:42376,42378-42379,42397,42400
/trunk/blender:34011-39896,39898-40096,40098-42556
Modified: branches/soc-2008-mxcurioni/SConstruct
===================================================================
--- branches/soc-2008-mxcurioni/SConstruct 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/SConstruct 2011-12-10 20:54:43 UTC (rev 42562)
@@ -119,6 +119,12 @@
if tempbitness in (32, 64): # only set if 32 or 64 has been given
bitness = int(tempbitness)
+if bitness:
+ B.bitness = bitness
+else:
+ B.bitness = tempbitness
+
+
# first check cmdline for toolset and we create env to work on
quickie = B.arguments.get('BF_QUICK', None)
quickdebug = B.arguments.get('BF_QUICKDEBUG', None)
Modified: branches/soc-2008-mxcurioni/build_files/cmake/cmake_qtcreator_project.py
===================================================================
--- branches/soc-2008-mxcurioni/build_files/cmake/cmake_qtcreator_project.py 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/build_files/cmake/cmake_qtcreator_project.py 2011-12-10 20:54:43 UTC (rev 42562)
@@ -47,6 +47,13 @@
import sys
+def quote_define(define):
+ if " " in define.strip():
+ return '"%s"' % define
+ else:
+ return define
+
+
def create_qtc_project_main():
files = list(source_list(SOURCE_DIR, filename_check=is_project_file))
files_rel = [os.path.relpath(f, start=PROJECT_DIR) for f in files]
@@ -99,7 +106,7 @@
qtc_cfg = os.path.join(PROJECT_DIR, "%s.config" % FILE_NAME)
f = open(qtc_cfg, 'w')
f.write("// ADD PREDEFINED MACROS HERE!\n")
- defines_final = [("#define %s %s" % item) for item in defines]
+ defines_final = [("#define %s %s" % (item[0], quote_define(item[1]))) for item in defines]
if sys.platform != "win32":
defines_final += cmake_compiler_defines()
f.write("\n".join(defines_final))
Modified: branches/soc-2008-mxcurioni/build_files/scons/tools/Blender.py
===================================================================
--- branches/soc-2008-mxcurioni/build_files/scons/tools/Blender.py 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/build_files/scons/tools/Blender.py 2011-12-10 20:54:43 UTC (rev 42562)
@@ -50,6 +50,7 @@
arguments = None
targets = None
resources = []
+bitness = 0
#some internals
blenderdeps = [] # don't manipulate this one outside this module!
Modified: branches/soc-2008-mxcurioni/build_files/scons/tools/btools.py
===================================================================
--- branches/soc-2008-mxcurioni/build_files/scons/tools/btools.py 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/build_files/scons/tools/btools.py 2011-12-10 20:54:43 UTC (rev 42562)
@@ -157,7 +157,7 @@
'WITH_BF_JEMALLOC', 'WITH_BF_STATICJEMALLOC', 'BF_JEMALLOC', 'BF_JEMALLOC_INC', 'BF_JEMALLOC_LIBPATH', 'BF_JEMALLOC_LIB', 'BF_JEMALLOC_LIB_STATIC',
'BUILDBOT_BRANCH',
'WITH_BF_3DMOUSE', 'WITH_BF_STATIC3DMOUSE', 'BF_3DMOUSE', 'BF_3DMOUSE_INC', 'BF_3DMOUSE_LIB', 'BF_3DMOUSE_LIBPATH', 'BF_3DMOUSE_LIB_STATIC',
- 'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES' 'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC',
+ 'WITH_BF_CYCLES', 'WITH_BF_CYCLES_CUDA_BINARIES' 'BF_CYCLES_CUDA_NVCC', 'BF_CYCLES_CUDA_NVCC', 'WITH_BF_CYCLES_CUDA_THREADED_COMPILE',
'WITH_BF_OIIO', 'WITH_BF_STATICOIIO', 'BF_OIIO', 'BF_OIIO_INC', 'BF_OIIO_LIB', 'BF_OIIO_LIB_STATIC', 'BF_OIIO_LIBPATH',
'WITH_BF_BOOST', 'WITH_BF_STATICBOOST', 'BF_BOOST', 'BF_BOOST_INC', 'BF_BOOST_LIB', 'BF_BOOST_LIB_STATIC', 'BF_BOOST_LIBPATH'
]
@@ -545,6 +545,7 @@
localopts.AddVariables(
(BoolVariable('WITH_BF_CYCLES', 'Build with the Cycles engine', True)),
(BoolVariable('WITH_BF_CYCLES_CUDA_BINARIES', 'Build with precompiled CUDA binaries', False)),
+ (BoolVariable('WITH_BF_CYCLES_CUDA_THREADED_COMPILE', 'Build several render kernels at once (using BF_NUMJOBS)', False)),
('BF_CYCLES_CUDA_NVCC', 'CUDA nvcc compiler path', ''),
('BF_CYCLES_CUDA_BINARIES_ARCH', 'CUDA architectures to compile binaries for', []),
Modified: branches/soc-2008-mxcurioni/doc/manpage/blender.1
===================================================================
(Binary files differ)
Modified: branches/soc-2008-mxcurioni/extern/libmv/libmv/numeric/numeric.h
===================================================================
--- branches/soc-2008-mxcurioni/extern/libmv/libmv/numeric/numeric.h 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/extern/libmv/libmv/numeric/numeric.h 2011-12-10 20:54:43 UTC (rev 42562)
@@ -33,7 +33,7 @@
#include <Eigen/QR>
#include <Eigen/SVD>
-#if _WIN32 || __APPLE__
+#if _WIN32 || __APPLE__ || __FreeBSD__
void static sincos (double x, double *sinx, double *cosx) {
*sinx = sin(x);
*cosx = cos(x);
Modified: branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/brute_region_tracker.cc
===================================================================
--- branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/brute_region_tracker.cc 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/brute_region_tracker.cc 2011-12-10 20:54:43 UTC (rev 42562)
@@ -24,7 +24,7 @@
#include <emmintrin.h>
#endif
-#ifndef __APPLE__
+#if !defined(__APPLE__) && !defined(__FreeBSD__)
// Needed for memalign on Linux and _aligned_alloc on Windows.
#ifdef FREE_WINDOWS
/* make sure _aligned_malloc is included */
@@ -59,6 +59,15 @@
// they work natively with SSE types with no further work.
CHECK_EQ(alignment, 16);
return malloc(size);
+#elif __FreeBSD__
+ void *result;
+
+ if(posix_memalign(&result, alignment, size)) {
+ // non-zero means allocation error
+ // either no allocation or bad alignment value
+ return NULL;
+ }
+ return result;
#else // This is for Linux.
return memalign(alignment, size);
#endif
Modified: branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.cc
===================================================================
--- branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.cc 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.cc 2011-12-10 20:54:43 UTC (rev 42562)
@@ -273,11 +273,31 @@
// If the step was accepted, then check for termination.
if (d.squaredNorm() < min_update_squared_distance) {
- if (new_error > reasonable_error) {
- LG << "Update size shrank but reasonable error ("
- << reasonable_error << ") not achieved; failing.";
- return true; // XXX
+ // Compute the Pearson product-moment correlation coefficient to check
+ // for sanity.
+ // TODO(keir): Put this somewhere smarter.
+ double sX=0,sY=0,sXX=0,sYY=0,sXY=0;
+ for (int r = 0; r < width; ++r) {
+ for (int c = 0; c < width; ++c) {
+ double x = image_and_gradient1_sampled(r, c, 0);
+ double y = image_and_gradient2_sampled[new_image](r, c, 0);
+ sX += x;
+ sY += y;
+ sXX += x*x;
+ sYY += y*y;
+ sXY += x*y;
+ }
}
+ double N = width*width;
+ sX /= N, sY /= N, sXX /= N, sYY /= N, sXY /= N;
+ double correlation = (sXY-sX*sY)/sqrt(double((sXX-sX*sX)*(sYY-sY*sY)));
+ LG << "Final correlation: " << correlation;
+
+ if (correlation < minimum_correlation) {
+ LG << "Correlation " << correlation << " greater than "
+ << minimum_correlation << "; bailing.";
+ return false;
+ }
LG << "Successful track in " << (i + 1) << " iterations.";
return true;
}
Modified: branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.h
===================================================================
--- branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.h 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/extern/libmv/libmv/tracking/esm_region_tracker.h 2011-12-10 20:54:43 UTC (rev 42562)
@@ -38,7 +38,8 @@
max_iterations(16),
min_determinant(1e-6),
min_update_squared_distance(1e-4),
- sigma(0.9) {}
+ sigma(0.9),
+ minimum_correlation(0.78) {}
virtual ~EsmRegionTracker() {}
@@ -54,6 +55,7 @@
double min_determinant;
double min_update_squared_distance;
double sigma;
+ double minimum_correlation;
};
} // namespace libmv
Modified: branches/soc-2008-mxcurioni/extern/libmv/libmv-capi.cpp
===================================================================
--- branches/soc-2008-mxcurioni/extern/libmv/libmv-capi.cpp 2011-12-10 20:10:28 UTC (rev 42561)
+++ branches/soc-2008-mxcurioni/extern/libmv/libmv-capi.cpp 2011-12-10 20:54:43 UTC (rev 42562)
@@ -111,12 +111,13 @@
/* ************ RegionTracker ************ */
-libmv_RegionTracker *libmv_pyramidRegionTrackerNew(int max_iterations, int pyramid_level, int half_window_size)
+libmv_RegionTracker *libmv_pyramidRegionTrackerNew(int max_iterations, int pyramid_level, int half_window_size, double minimum_correlation)
{
libmv::EsmRegionTracker *esm_region_tracker = new libmv::EsmRegionTracker;
esm_region_tracker->half_window_size = half_window_size;
esm_region_tracker->max_iterations = max_iterations;
esm_region_tracker->min_determinant = 1e-4;
+ esm_region_tracker->minimum_correlation = minimum_correlation;
libmv::PyramidRegionTracker *pyramid_region_tracker =
new libmv::PyramidRegionTracker(esm_region_tracker, pyramid_level);
@@ -124,15 +125,16 @@
return (libmv_RegionTracker *)pyramid_region_tracker;
}
-libmv_RegionTracker *libmv_hybridRegionTrackerNew(int max_iterations, int half_window_size)
+libmv_RegionTracker *libmv_hybridRegionTrackerNew(int max_iterations, int half_window_size, double minimum_correlation)
{
libmv::EsmRegionTracker *esm_region_tracker = new libmv::EsmRegionTracker;
@@ Diff output truncated at 10240 characters. @@
More information about the Bf-blender-cvs
mailing list