Commit Graph

66005 Commits

Author SHA1 Message Date
Campbell Barton
f1989793e7 fix [#29338] Viewport does not update when sculpting without a multires modifer
when no modifiers are applied, dont re-tessellate,

for future referece - this bug was caused because can_pbvh_draw() checks if (cddm->mvert == me->mvert)
re-tesselating the faces copies the vertex array so it was returning false.
2011-12-05 01:58:24 +00:00
Campbell Barton
cdc8b33111 svn merge ^/trunk/blender -r42422:42426 2011-12-04 23:39:01 +00:00
Campbell Barton
f07df7287e manual sync with trunk - pulling in changes where the issues are not bmesh spesific
- some merges added lines in multiple times
- removed some NULL checks that were only in bmesh
- enable cycles by default (was disabled because it used not to work)
- make formatting match
2011-12-04 23:13:28 +00:00
Campbell Barton
eb233d9332 syncing some minor formatting edits from bmesh branch. 2011-12-04 23:04:43 +00:00
Daniel Salazar
577730daad 2011-12-04 22:48:23 +00:00
Campbell Barton
3267a619f1 svn merge ^/trunk/blender -r42416:42422 2011-12-04 20:05:50 +00:00
Campbell Barton
bf77a177d4 remove mesh PartialVisibility, it wasnt being version patches or used anywhere, other then save/load/free. 2011-12-04 19:49:35 +00:00
Sergey Sharybin
229dd30f37 Slight optimization of track preview widget (the same approach as in tomato branch) 2011-12-04 18:49:41 +00:00
Sergey Sharybin
9e51f4b943 Optimization of preview widget scaling.
Thanks to Campbell for pointing into issues.
2011-12-04 18:39:47 +00:00
Campbell Barton
22a1ad61f9 svn merge ^/trunk/blender -r42372:42416 2011-12-04 18:39:19 +00:00
Bastien Montagne
937c5494c4 A (hopefully last) bunch of fixes and tweaks to UI label and messages (found while translating in french). 2011-12-04 17:36:13 +00:00
Campbell Barton
143b7ec10a remove unused SpaceTime.redraws.
now there are no more use of deprecated struct member warnings.
2011-12-04 17:35:17 +00:00
Sergey Sharybin
756ac13e3a Merging r42394 through r42412 form trunk into soc-2011-tomato 2011-12-04 17:26:35 +00:00
Campbell Barton
f4eb0f507f #if 0 use of Object.nlastrips, there is no way to add or remove these from blender so better not run. 2011-12-04 17:24:34 +00:00
Sergey Sharybin
3eaf5e93fd Fix for movie clips weren't remapped properly on file save 2011-12-04 17:16:22 +00:00
Sergey Sharybin
17493c77f4 Fixed dark edges on preview widget sides: it was interpolating beyond the image bounds 2011-12-04 17:12:10 +00:00
Thomas Dinges
b550cd8c1e Fix [#29502] Brush texture Preview panel doesnt show Alpha checkbox
* Added to the py UI file, it would require some deeper changes to have it in the c Template, can be done later.
* Fixed a typo.
2011-12-04 16:55:46 +00:00
Campbell Barton
9c5ad4fb60 remove old renderer struct member, was only used for setting yafray but was still being checked in a few places, 2011-12-04 16:22:53 +00:00
Sergey Sharybin
5c82926f94 Use own bilinear interpolation function for preview widget sampling
Solves issue with image clamping, but issue with dark edge is still present
2011-12-04 16:07:50 +00:00
Brecht Van Lommel
6c6b0ecb27 Fix compile issue on windows, broke this trying to fix for mac. 2011-12-04 15:49:14 +00:00
Campbell Barton
753bfe730a fix building on openbsd, also quiet some warnings. 2011-12-04 15:45:53 +00:00
Antony Riakiotakis
1cb3ccd35c Fix warning for redefinition of __MSVCRT_VERSION__ 2011-12-04 14:47:21 +00:00
Antony Riakiotakis
166a6877b7 Fix MinGW compilation:
define __MSVCRT_VERSION__ to 0x0700 (microsoft runtime msvcr70.dll) so _aligned_malloc is defined.
2011-12-04 14:43:37 +00:00
Sergey Sharybin
af8587c6d6 Small code cleanup of tracking.c 2011-12-04 14:42:21 +00:00
Sergey Sharybin
f4b1c34ff0 Fix of pattern position clamping 2011-12-04 14:42:10 +00:00
Keir Mierle
e98e8acf1a Add minimum correlation widget to tracker default settings panel. 2011-12-04 14:08:58 +00:00
Keir Mierle
5d6fff3c7b Remove an unused parameter from tracking.c 2011-12-04 14:08:21 +00:00
Keir Mierle
f1454ec399 Turn grayscale preview on if any channel toggles are active for motion tracking. 2011-12-04 13:58:40 +00:00
Keir Mierle
4bd3a296bb Add support for detecting tracking failure in the ESM tracker component of
libmv. Since both KLT and Hybrid rely on ESM underneath, KLT and Hybrid now
have a minimum correlation setting to match. With this fix, track failures
should get detected quicker, with the issue that sometimes the tracker will
give up too easily. That is fixable by reducing the required correlation (in
the track properties).
2011-12-04 13:46:25 +00:00
Sergey Sharybin
d261623800 Camera tracking: merge hybrid tracker from tomato branch
Comment from Keir's commit:

Add a new hybrid region tracker for motion tracking to libmv, and
add it as an option (under "Hybrid") in the tracking settings. The
region tracker is a combination of brute force tracking for coarse
alignment, then refinement with the ESM/KLT algorithm already in
libmv that gives excellent subpixel precision (typically 1/50'th
of a pixel)

This also adds a new "brute force" region tracker which does a
brute force search through every pixel position in the destination
for the pattern in the first frame. It leverages SSE if available,
similar to the SAD tracker, to do this quickly. Currently it does
some unnecessary conversions to/from floating point that will get
fixed later.

The hybrid tracker glues the two trackers (brute & ESM) together
to get an overall better tracker. The algorithm is simple:

1. Track from frame 1 to frame 2 with the brute force tracker.
   This tries every possible pixel position for the pattern from
   frame 1 in frame 2. The position with the smallest
   sum-of-absolute-differences is chosen. By definition, this
   position is only accurate up to 1 pixel or so.
2. Using the result from 1, initialize a track with ESM. This does
   a least-squares fit with subpixel precision.
3. If the ESM shift was more than 2 pixels, report failure.
4. If the ESM track shifted less than 2 pixels, then the track is
   good and we're done. The rationale here is that if the
   refinement stage shifts more than 1 pixel, then the brute force
   result likely found some random position that's not a good fit.

svn command used: svn merge -r 42375:42376 -r 42377:42379 ^/branches/soc-2011-tomato
2011-12-04 13:26:11 +00:00
Keir Mierle
d00bb6dd56 Add a toggle button to display motion tracker previews in grayscale. 2011-12-04 12:58:31 +00:00
Sergey Sharybin
4e0b4de0bf Merging r42350 through r42393 from trunk into soc-2011-tomato 2011-12-04 12:32:26 +00:00
Sergey Sharybin
bb81c03e39 Revert "Fix a segfault in the tracker caused by attempting a one-frame track after the active tracker has become disabled."
BKE_tracking_next shouldn't be called if there's nothing to track.
Fixed in trunk, would be fixed here after upcoming merge.
2011-12-04 12:06:01 +00:00
Sergey Sharybin
458ecaebf4 Do not clamp search size when adding new track with non-klt tracker set 2011-12-04 11:57:23 +00:00
Sergey Sharybin
bd9583a1d4 Fix crash when trying to track disabled track.
This is possible fixes #29498: Seg fault on trying to track byond clip length
2011-12-04 10:57:36 +00:00
Thomas Dinges
12326ac6c5 CUDA
* Added CUDA Binaries to Windows scons config files, disabled by default. 
Also the path to nvcc is commented out, best to set this in the user config, as it varies on each system probably.
2011-12-04 10:45:25 +00:00
Campbell Barton
4c93e0ada3 include mathutils.noise in sphinx docs 2011-12-04 06:55:32 +00:00
Campbell Barton
cbd5b492b1 remove use of deprecated struct members
- editmesh smooth & subdivide were using old mirror axis flag still.
- removed colbits from outliner and object code.
- commented some other parts of the code which access deprecated members and aren't called anywhere.
2011-12-04 06:39:35 +00:00
Campbell Barton
31ff21d735 add define for deprecated DNA struct members: DNA_DEPRECATED,
this means use of deprecated struct members gives a warning.

- makesdna.c preprocessor skips this.
- DNA_DEPRECATED_ALLOW is used so readfile.c can do versioning without warnings.
- this exposes some use of deprecated struct members, will deal with this after.
2011-12-04 06:05:48 +00:00
Keir Mierle
3113fff5ed Make the tracker preview in the motion tracking panel show exactly what the
tracking algorithm will see when any of the R/G/B channels are disabled, rather
than the RGB view that was there previously.
2011-12-04 06:02:09 +00:00
Keir Mierle
7f46db1ecc Fix a segfault in the tracker caused by attempting a one-frame track after the active tracker has become disabled. 2011-12-04 04:51:30 +00:00
Keir Mierle
50d440504c Switch the tracker preview area to use bilinear filtering instead of nearest
neighbour. This makes it easier to align tracks.
2011-12-04 04:33:06 +00:00
Campbell Barton
3fdc28b736 add a new object member to store the dsize, since with my recent commit broke forward compatibility. now the new values are copied into 'dscale' and existing ones remain.
this is annoying since now we have dsize and dscale, will look into a way to deprecate struct members next.
2011-12-04 03:35:54 +00:00
Joseph Eagar
a115c02605 bmesh: fixed crash in bevel 2011-12-04 00:44:09 +00:00
Keir Mierle
8e01cfa045 Don't show the "Correlation" tracking preset when the hybrid tracker is selected. 2011-12-03 23:33:07 +00:00
Keir Mierle
bc8fb9ff37 Add a fix for compiling the brute force region tracker from libmv on Mac OS X. 2011-12-03 23:30:11 +00:00
Dalai Felinto
d15c5e51a1 Invert Color Cycles Node
as with the HSV node the OSL code is relying on the (yet to be implemented) autorename.

Also the svm code could use mix (svm_lerp) instead:
 32 . float3 color_inv = make_float3(1.0f, 1.0f, 1.0f) - color;
 35 . . stack_store_float3(stack, out_color, svm_lerp(color_inv, color, factor));

I have a feeling that each node 'program' should have the least program as possible. I'll see with Brecht later.
But overall I don't know if that's any fast. And apart from that I think we will need this kind of function to move to a library if multiple functions linked in are not a problem.
2011-12-03 23:05:35 +00:00
Keir Mierle
232248d2e0 Add a new hybrid region tracker for motion tracking to libmv, and
add it as an option (under "Hybrid") in the tracking settings. The
region tracker is a combination of brute force tracking for coarse
alignment, then refinement with the ESM/KLT algorithm already in
libmv that gives excellent subpixel precision (typically 1/50'th
of a pixel)

This also adds a new "brute force" region tracker which does a
brute force search through every pixel position in the destination
for the pattern in the first frame. It leverages SSE if available,
similar to the SAD tracker, to do this quickly. Currently it does
some unnecessary conversions to/from floating point that will get
fixed later.

The hybrid tracker glues the two trackers (brute & ESM) together
to get an overall better tracker. The algorithm is simple:

1. Track from frame 1 to frame 2 with the brute force tracker.
   This tries every possible pixel position for the pattern from
   frame 1 in frame 2. The position with the smallest
   sum-of-absolute-differences is chosen. By definition, this
   position is only accurate up to 1 pixel or so.
2. Using the result from 1, initialize a track with ESM. This does
   a least-squares fit with subpixel precision.
3. If the ESM shift was more than 2 pixels, report failure.
4. If the ESM track shifted less than 2 pixels, then the track is
   good and we're done. The rationale here is that if the
   refinement stage shifts more than 1 pixel, then the brute force
   result likely found some random position that's not a good fit.
2011-12-03 22:27:32 +00:00
Campbell Barton
7691e05e40 flush selected vertices when switching from vertex weight paint mode to editmode (as is done with faces).
note - a limitation with mode changing means this isnt used yet with toggling.
2011-12-03 22:15:13 +00:00
Brecht Van Lommel
341aa730bd Fix cycles compile issue after last commit. 2011-12-03 21:27:19 +00:00