Commit Graph

47594 Commits

Author SHA1 Message Date
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
Campbell Barton
753bfe730a fix building on openbsd, also quiet some warnings. 2011-12-04 15:45:53 +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
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
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
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
Campbell Barton
70ee572804 svn merge ^/trunk/blender -r42361:42372 2011-12-03 21:01:26 +00:00
Campbell Barton
03b807e7dc shorten very long lines in drawobject.c, (no functional changes) 2011-12-03 20:49:41 +00:00
Campbell Barton
f0b3ec33f6 fix for weight paint mode drawing selected verts even when it wasnt the active object. 2011-12-03 20:26:53 +00:00
Brecht Van Lommel
4344d84c02 Fix #29483: edge slide gives nan when zoomed in close. Cause was integer
overflow leading to negative value for sqrt().
2011-12-03 13:16:32 +00:00
Campbell Barton
3167a9a899 add library support for rna collection __contains__, eg
("Cube", "//lib.blend") in bpy.data.objects
2011-12-03 06:10:32 +00:00
Campbell Barton
243131edc0 fix for derived mesh buffer overrun caused by using an incorrect loop length.
editmode extruding would crash instantly when dupli-faces were enabled.
2011-12-03 02:11:38 +00:00
Campbell Barton
d74c564235 svn merge ^/trunk/blender -r42333:42361 2011-12-02 23:02:21 +00:00
Campbell Barton
34c5698d2e some formatting edits & #if 0 files which are not used. 2011-12-02 22:35:05 +00:00
Campbell Barton
06c3d5bd09 de-duplicate dominant axis calculation, exact same checks were in 6 different places.
added function:  axis_dominant_v3(...)
2011-12-02 22:14:20 +00:00
Brecht Van Lommel
20620a988a Fix #27620: improve mesh deform error message when it fails to bind. 2011-12-02 21:10:29 +00:00
Brecht Van Lommel
a097bc6889 Fix #29477: make proxy gave proxy object the wrong name with OB prefix.
Broke in revision 41125 with BLI_snprintf refactoring, checked other
changes in that commit and they seem to be fine, was just this one.
2011-12-02 20:49:31 +00:00
Campbell Barton
957d9d3263 fix for own error - r42200, broke knife tool edge/triangle intersection. 2011-12-02 20:45:20 +00:00
Dalai Felinto
78495ddf32 CameraData Input Cycles Node
----------------------------
reviewed and approved by Brecht 

Important note:
the camera Z is reverted compared to Blender render.
Now it goes from zero (camera) to positive (in front of the camera)
2011-12-02 20:36:13 +00:00
Brecht Van Lommel
1768a96774 Fix #29073: keyframing integer properties now uses linear interpolation
by default, and enums use constant interpolation. Bezier doesn't make
much sense for these.
2011-12-02 19:49:09 +00:00
Howard Trickey
a6756b6863 Hook up mesh select_all properties added in previous commit 2011-12-02 19:43:53 +00:00
Brecht Van Lommel
725207a1e6 Possible fix for #29436: issue with external numpad, that is generating unknown
key events. Disable using these as "key modifier".
2011-12-02 19:29:42 +00:00
Brecht Van Lommel
069f46ac89 Fix #28539: redraw issue with grease pencil active layer button, this was a regular
button that acted like a toggle, now made it an actual toggle button.
2011-12-02 19:08:40 +00:00
Jens Verwiebe
0539a3f1e9 OSX: match quicktime and QTKit export to other formats/codecs 2011-12-02 18:09:31 +00:00
Andrew Wiggin
e883fa168b Adjust face menu links to "mirror uvs" and "mirror colors" to use the bmesh n-gon-compatible replacements "reverse uvs" and "reverse colors" 2011-12-02 17:17:40 +00:00
Dalai Felinto
4fd2736487 HSV Color Node for Cycles
.........................
note, the OSL code has a problem.
In the original node the input and output nodes have the same name (Color).
So this will be fixed here once Brecht come up with a nice autorenaming (or we do a doversion patch) for that.
2011-12-02 16:57:37 +00:00
Andrew Wiggin
397aad23c8 Reverse default direction of "rotate colors" to match the (only rotation direction) of rotate colors in trunk 2011-12-02 16:57:22 +00:00
Brecht Van Lommel
f96aad6688 Fix #27626: nodes inside groups can't be muted. There was a check here to
disable this, but with recent node muting patch and node group changes it
should work now.
2011-12-02 15:08:27 +00:00
Sergey Sharybin
1f96a120f6 Rename clip proxy rebuild function so it's no longer called in the same way
as proxy rebuild function in sequencer.

No functional changes.
2011-12-02 13:07:39 +00:00
Campbell Barton
9010378425 fix [#28645] TODO: dissolve edges doesn't delete lonely vertices on edges
dissolving a vert on 2 edges now uses 'JOIN EDGE KILL VERT'

also removed a fairly large block of code since 'jekv' handles this too.
2011-12-02 05:54:48 +00:00
Campbell Barton
2bdd4c570f changes to derived mesh editmode functions to be in closer sync with trunk. 2011-12-02 03:18:34 +00:00