Commit Graph

6235 Commits

Author SHA1 Message Date
Sergey Sharybin
a912afd202 Fix #29516: Twist brush giving crazy results
- Rotation now happens around initial stroke location rather than around scene origin
- Added slider for rotation strength which helps in cases only few rotation is needed
  to be to increase the precision of such strokes
2011-12-10 14:45:30 +00:00
Morten Mikkelsen
0cc887e2e9 disabling DM_calc_auto_bump_scale() until after release 2011-12-10 01:14:36 +00:00
Campbell Barton
ae17390b77 picky edits & regen man page 2011-12-10 01:07:22 +00:00
Morten Mikkelsen
965c287630 fixes scale on derivative maps 2011-12-09 23:26:06 +00:00
Campbell Barton
71ea408c73 check for weights outside of 0-1 range when validating weights 2011-12-09 20:29:21 +00:00
Sergey Sharybin
9d807eb6dd Mesh drawing optimization and fixes:
- Pass MFace, MTface and OrigIndex arrays via userData to compareDrawParams callback
  rather than looking up for this layers for each face
- This allowed to avoid massing DM to compare callback which seems like a bad-level pass
- Fixed crashes on some video cards when assigning different materials to different
  faces in edit mode. Both of intel and nvidia cards in my laptop were affected by
  this error
2011-12-09 11:46:48 +00:00
Campbell Barton
f025b7b511 went over all uses of MDeformWeight.def_nr and made sure the value is clamped when used as an array index. 2011-12-09 08:20:27 +00:00
Campbell Barton
6a6c9fc160 function de-duplicate, particle.c had 'vert_weight' which serves the exact same purpose as 'defvert_find_weight'. 2011-12-09 08:05:23 +00:00
Campbell Barton
11aba526f2 another possible fix for bug [#29521], all callers of flip_side_name(...), assumed it initialized the string however for 1-2 length names it returned without doing anything.
in most cases the caller would then check if the name was different to see if the name was flipped, incorrectly comparing the uninitialized string with the original name.
2011-12-09 07:35:56 +00:00
Campbell Barton
a80a5c4034 BKE_mesh_validate_arrays was correcting non-finite verts and zero normals even when do_fixes was false, also return true if any bad vertex weights were found.` 2011-12-09 07:23:17 +00:00
Campbell Barton
fd543185cc minor changes, fix coming next (no functional edits). 2011-12-09 06:05:58 +00:00
Campbell Barton
0feb2acd8a regarding [#29521] Invalid Vertex Weights
added checks to mesh.validate() so it checks for nan weights and negative groups which can crash blender.

the file in the report looks to be corrupt, but this at least can make it load.

also noticed validate was using isnan() and finite() were both used to check valid vertex locations, only finite is needed.
2011-12-08 04:51:03 +00:00
Campbell Barton
2b82498544 minor refactor of vertex group functions,
- defvert_remove_index's index wasnt used anywhere, rename to defvert_remove_group
- defvert_add_to_group was local in MOD_weightvg_util.c, moved to deform.c and renamed to defvert_add_index_notest

real fix coming next...
2011-12-08 03:47:45 +00:00
Brecht Van Lommel
a5fb261016 Fix #29520: issue drawing with VBO + GLSL + alpha pass. Includes some refactoring
to hopefully make alpha material drawing code more clear.
2011-12-07 22:03:49 +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
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
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
eb233d9332 syncing some minor formatting edits from bmesh branch. 2011-12-04 23:04:43 +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
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
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
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
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
Sergey Sharybin
af5adbad3f Remove MTEX_BUMP_FLIPPED flag which was added temporary when white/black colors
for bump maps were toggled.
2011-11-30 16:26:30 +00:00
Campbell Barton
d24bbba150 dynamic paint
- replace inline code with existig defvert_find_index()
- use madd_v3_v3fl() func and remove redundant normalize call.
2011-11-30 10:04:14 +00:00
Campbell Barton
c9edbab08a fix for parenting bug introduced by own commit r42273, adding dummy object didnt initialize delta vectors.
also remove redundant NULL initializers, where the value is initialized immediately after.
2011-11-30 08:03:20 +00:00
Campbell Barton
064d46eef0 use consistent naming for deform.c, also moved defvert_remove_index into deform.c, was local in modifier code. 2011-11-30 07:39:54 +00:00
Campbell Barton
b202bf0564 fix [#29450] Mirror Vertex Groups issue 2011-11-30 07:11:29 +00:00
Campbell Barton
9b2df014d2 fix [#29459] Crash making a linked object group local
was an error with make-local refactor & path updating.
2011-11-30 00:32:13 +00:00
Campbell Barton
6403858ad9 fix [#29111] Wrong application of delta scale
apply delta scale as a multiplier & do-versions on existing files.

- bumps subversion to 2.60.6
2011-11-29 21:13:37 +00:00
Campbell Barton
f62ad8f69b remove header text:
"The Blender Foundation also sells licenses for use in proprietary software under the Blender Licens"

also remove NaN references from files that have been added since blender went opensource.
2011-11-29 10:54:47 +00:00