Commit Graph

6620 Commits

Author SHA1 Message Date
Campbell Barton
b245dfbc06 svn merge ^/trunk/blender -r42466:42495 2011-12-07 18:29:21 +00:00
Campbell Barton
3637794436 remove initilaizing weight collor with dummy value (from recent commit), harmless but not needed. 2011-12-07 18:22:16 +00:00
Sergey Sharybin
d227471b72 Fix #28663: All "unit" properties show a value of 0 (on WinXP&MinGW&scons)
Use %g instead of %lg due to %g is supposed to be used for doubles and %lg confuses mingw at all
2011-12-07 17:23:45 +00:00
Sergey Sharybin
d568f56f18 Merging remained part of hybrid tracker which adds correlation threshold
Keir's comment:
  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).

Command used for merge: svn merge -r 42396:42397 -r 42399:42400 ^/branches/soc-2011-tomato
2011-12-07 14:54:03 +00:00
Sergey Sharybin
91796ab630 Tracks which were moved to close to boundary weren'haven't been disabled when doing
frame-by-frame tracking.
2011-12-07 10:53:51 +00:00
Sergey Sharybin
62fc8f5197 Make Hybrid tracker default for movie clips 2011-12-07 10:01:39 +00:00
Sergey Sharybin
433033c2bf Camera tracking: some bug fixes
- Fixed bug with not putting disabled markers properly when doing backwards tracking
- Fixed margin size calculating from pattern size which used to be double-sized
  and prevented to track things on the image edges.
2011-12-07 09:21:50 +00:00
Campbell Barton
9d69115e92 fix for uninitialized memory use drawing 'nan' vertex groups, noticed while looking into [#29521] 2011-12-07 07:13:33 +00:00
Campbell Barton
2a35e8f9c1 remove BMEMSET define, use memset instead 2011-12-07 04:27:40 +00:00
Campbell Barton
4b0b3f578c alternative fix for [#29338], now dont duplicate the vertex layer when calculating normals, instead only calculate face normals. 2011-12-07 01:12:53 +00:00
Campbell Barton
933e3af883 avoid looping through the polygons to find the maxium loop size by using BLI_array_declare, tested on optimized build and its slighly faster though IMHO this is easier to follow. 2011-12-07 00:25:21 +00:00
Campbell Barton
cead1e1977 added mesh_calc_normals_ex() which is mesh_calc_normals() with an option to skip recalculating the vertex normals (only calculate poly/face normals instead).
also removed unneeded allocation of face normals.

otherwise no functional change.
2011-12-06 22:55:41 +00:00
Campbell Barton
35e80c5544 svn merge ^/trunk/blender -r42439:42466 2011-12-06 18:50:45 +00:00
Sergey Sharybin
fc72660bed Fix #27622: Sequencer Wipe Angle Incorrect
Made wipe angle be real angle instead of making some ease effects which can be reached by animation curves.
2011-12-06 15:32:10 +00:00
Campbell Barton
26db98293f Quiet annoying warning:
Warning! Tesselation uvs or vcol data got out of sync, "had to reset!

This would happen on every editmode edit with UV's and wasn't too reassuring that blender was handling uvs/vcols correctly.

From looking into the problem I found that creating the undo mesh would act as if it was tessellating the existing mesh each time and complain that the data was out of sync, when infact the mesh was just created and being filled in.

Also, allocating uv and vcol customdata arrats for tessfaces isn't needed for undo mesh, so save some memory and dont allocate these in the first place.
2011-12-06 09:28:25 +00:00
Campbell Barton
d97f88d278 svn merge ^/trunk/blender -r42426:42439 2011-12-05 17:54:33 +00:00
Thomas Dinges
a5434508ac Release Cycle:
* BCon4: Release candidate, important bug fixes only!
2011-12-05 15:32:17 +00:00
Miika Hamalainen
c9eb206c06 Fix: Dynamic Paint sub-steps didn't work for constraint controlled brush objects. 2011-12-05 13:36:41 +00:00
Campbell Barton
45c1ccd65b fix for dscale which was set to 0,0,0 from files saved between Nov 29 and Dec 4. 2011-12-05 11:02:54 +00:00
Sergey Sharybin
8582495c16 Minor whitespace fixes 2011-12-05 07:56:31 +00:00
Campbell Barton
65e98ac837 commenting out code added in bmesh and not verified. 2011-12-05 05:28:31 +00:00
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
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
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
Campbell Barton
22a1ad61f9 svn merge ^/trunk/blender -r42372:42416 2011-12-04 18:39:19 +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
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
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
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
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
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
Campbell Barton
70ee572804 svn merge ^/trunk/blender -r42361:42372 2011-12-03 21:01:26 +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
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
2bdd4c570f changes to derived mesh editmode functions to be in closer sync with trunk. 2011-12-02 03:18:34 +00:00
Campbell Barton
0cff8e6c9c move editmesh derived mesh functions into their own file to match bmesh, without this all merges in this area have to be done manually. 2011-12-02 03:16:06 +00:00
Campbell Barton
583b118217 file rename, will do the same in trunk to make merges less of a hassle 2011-12-02 02:18:29 +00:00
Campbell Barton
15ad39e684 svn merge ^/trunk/blender -r42303:42329 2011-12-02 01:01:07 +00:00
Sergey Sharybin
d6d6ffd770 Check for mvert coords and normals when doing mesh.validate() and set invalid
coordinates to zero and zero-length normals to Z-up direction.
2011-12-01 19:21:58 +00:00
Campbell Barton
fa3c345dfa dynamic paint, possible use of uninitialized value - fix. 2011-12-01 18:49:42 +00:00
Sergey Sharybin
c21f19374b Fixed crash caused by recent VBO's changes
Crash was caused by non-initialized original index passing to compareDrawOptions
callback. Due to in some cases it's enough to know indices of faces in final DM
(like for comparing if the same texture used for mesh drawing) assume this
callback receives index in final DM and if it's needed it will make conversion
to original index itself.

This should help reaching extra speed if textured object is affected by
bevel modifiers, i.e.
2011-12-01 18:26:48 +00:00
Sergey Sharybin
f6f7e270e3 Slight refactor of VBO code to deal with multiple textures.
Added compareDrawSettings callback to driver mesh's callbacks which are
drawing textured faces (mapped and not mapped). This new callback checks
if two faces are drawing with the same settings (testures, shading etc)
and if they not, flush of faces happens into ogl using glDrawArrays and
next face would be drawn with it's own settings.

Currently implemented compareDrawSettings is used to resolve issue from
bug report only, probably there are extra places where this callback is
needed, but haven't seen configuration where current logic will fail,
so it should be ok.

Also reordered arguments passing to drawMappedFaces DM's callbacks,
so now all drawing callback are accepting list of callbacks and then
userData, instead of using mixed order of callbacks and userData which
was a bit confusing to work with.

This commit fixes:
- #26410: VBO & multitexture doesnt work
- #29464: VBO enabled causes UV coruption
2011-12-01 12:12:39 +00:00
Andrew Wiggin
56da69fd03 Fix for [#29467] Selection of active vertex color layer doesn't work
Need to push active layer indices from loops & polys to faces again after tesselations
2011-12-01 09:49:27 +00:00
Campbell Barton
fc401fd343 error in recent commit 2011-12-01 07:41:45 +00:00
Campbell Barton
f06bbaed92 split BMFlags_To_MEFlags & MEFlags_To_BMFlags into type specific calls, since we always know the types with these functions theres not much point in having generic calls with a type switch. 2011-12-01 01:41:56 +00:00
Campbell Barton
25098c741b svn merge ^/trunk/blender -r42292:42303 2011-12-01 00:34:59 +00:00