Commit Graph

66005 Commits

Author SHA1 Message Date
Daniel Genrich
9a8f98ddd8 Blender Internal Render: Split quads to predictable (vertices 0,1,3) triangles for animated meshes.
This solves problems with collisions beeing rendered different than in viewport.
2012-05-15 13:39:44 +00:00
Joerg Mueller
715d870bea Fix for [#31464] Crash when issuing command line render engine list ("-E help") 2012-05-15 13:32:55 +00:00
Lukas Toenne
324b22f701 A generalization of the modal node linking operator (for dragging from socket to socket).
This operator still had some built-in assumptions about the connectivity of input/output sockets (1-to-n in all current node systems). For future node systems (e.g. flow-based particles) and for general customizable nodes the operator is now fully symmetric and supports all kinds of connectivity limits (1:1, 1:n, m:1, m:n).

The operator data can also store a list of node links as opposed to a single link now, so that multiple links can be redirected at once. Holding the CTRL key when clicking a socket, all links from/to that socket are detached and can be moved to a different socket. This is useful for quickly appending a node without moving every individual link.
2012-05-15 12:40:43 +00:00
Daniel Genrich
8242f624a1 Cloth: Revert triangulation after talking with brecht.
People: Better use subsurf after cloth since you can get failing collisions otherwise!
2012-05-15 12:26:29 +00:00
Sergey Sharybin
7050633c67 Fix #31449: multiple ClipEditor bug behaviour
Actually it wasn't a bug -- currently curve/dopesheet view are in separated
spaces, so to keep displaying data in sync it's needed to update all visible
clip editors when changing displaying clip datablock.

Changed logic here a bit, so current clip wouldn't be changes for clip editors
where view is set to CLIP, only dopesheet/graph views are getting updated.
Also do not update displaying clip datablock when changing it from curve/dopesheet.
2012-05-15 12:25:26 +00:00
Sergey Sharybin
a20da2599b Tag unused argument 2012-05-15 12:17:56 +00:00
Bastien Montagne
89d36e7457 Fix [#31465] Segmentation Fault when Ctrl+Up/Down arrow to restore size of 3d Viewport.
Simply added a check for NULL pointer...
2012-05-15 12:14:03 +00:00
Daniel Genrich
3e8f59047e Fix own compile error reported by brecht. 2012-05-15 12:07:44 +00:00
Daniel Genrich
7f92b5f79a Fix El Topo:
- Library compile errors
- 2 Bugs (have been reported to lib owner)
- LAPACK for cmake

TODO:
- Scons is still missing LAPACK lib define
- Do other platforms got LAPACK lib?
2012-05-15 11:35:01 +00:00
Daniel Genrich
763a16cb70 Cloth:
- Triangulate Cloth Mesh for collisions
- Speed up collisions
- Remove EL Topo code
- Prepare code to incooperate El Topo self collisions (TODO next commits)


TODO:
----------
- Triangulation: Is custom data/uv preserved correctly?
- Use MPoly not tessface?
2012-05-15 11:14:50 +00:00
Sergey Sharybin
432ff1a17e Tomato: support of corners sliding for mouse sliding operator
This commits re-enables mouse sliding operator which behaves in the same
way as it used to for search area and marker position, but for pattern
it's now using individual corners. This allows to define affine transformation
which later would be used by tracker algorithm.

For non-affine tracking code is also ported but currently it's hardcoded to
use affine transformation. When real affine trackers and RNA/DNA changes would
be commited, easy to switch sliding operator to old-school behavior for
non-affine patterns.
2012-05-15 10:55:26 +00:00
Nicholas Bishop
8107130854 Fix bug #31460, crash in multires on leaving edit mode
Fix overly aggressive check for creating GridPaintMasks, wasn't
creating them in the right place after adding new faces in editmode.
2012-05-15 07:37:42 +00:00
Nicholas Bishop
9afb36b1e3 Add 'area' mode for brush texture projection.
This is similar to the 'view' mode, but uses the average local surface
normal rather than the view normal for projection.

Original code by Jason Wilkins (GSoC).

Documentation:
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Sculpting#Brush_Map_Mode
2012-05-15 04:50:57 +00:00
Nicholas Bishop
a8e9d5533f Code/UI cleanup: improvements for sculpt brush texture settings.
Settings are shown in both the View3D toolbar and texture properties
panel; code is now in shared sculpt_brush_texture_settings() function
in properties_paint_common.py.

Also added a few new properties to the SculptCapabilities RNA to
replace "X in {Y, Z}" tests in the Python code.
2012-05-15 04:50:47 +00:00
Nicholas Bishop
cb24a9505a Code cleanup: refactor sculpt normal and related functions. 2012-05-15 04:44:20 +00:00
Nicholas Bishop
028e21adb3 Code cleanups for sculpt-related code.
* Renamed flip_coord as flip_v3_v3
* Added flip_v3 for same input/output
* Moved special case for grab brush's normal into calc_area_normal()
* Renamed 'fixed' texture mode as 'view plane', mirrors
  Brush.sculpt_plane terminology
2012-05-15 04:44:13 +00:00
Ove Murberg Henriksen
9af6397b2d Function for copying weights interpolated from faces complete!
ED_vgroup_copy_by_nearest_face_single()
2012-05-15 02:47:23 +00:00
Ove Murberg Henriksen
90759d4243 svn merge ^/trunk/blender -r46559:HEAD 2012-05-15 01:28:12 +00:00
Antony Riakiotakis
232980eef0 Cleanup optimization compile flags for mingw-w64.
After testing it seems that for safe debug sessions, debug build optimizations need to be off. 

Also removed sse flags from release flags since they are included in ray optimization flags which are on by default.
2012-05-14 23:36:07 +00:00
Dan Eicher
8f2c848075 SequenceElements.pop() -- added 'index' argument instead of just chopping off the last element 2012-05-14 21:32:35 +00:00
Nicholas Bishop
0de912b82d Partial fix for bug #31458 Convex Hull operator crash
Change hull's point/triangle side test to > rather than >=.

This seems to fix the (infinite?) loop, but not the crash.
2012-05-14 20:59:08 +00:00
Nicholas Bishop
f87fda5864 Fix precision issue for bmo_hull.interior_geom output slot.
Keep track of interior verts during the hull build to avoid
imprecise floating-point test afterward.
2012-05-14 20:58:59 +00:00
Campbell Barton
a673e70e7c fix for odd mask curve handle calculation
- reuses auto handle calculation
- keeps handle length relate to surrounding handles

todo
- only works well when cyclic is off
- isnt aspect aware (looks like other tools are not aspect aware too)
2012-05-14 19:41:27 +00:00
Sergey Sharybin
c62077ce66 Per-track grease pencil data blocks
Added support of tracks to have their own grease pencil datablock.
This is controllable by Clip/Track toggle in Grease Pencil panel
in Clip Editor.

This toggle shows whether grease pencil stroke should go to movie clip's
datablock or to active track. As soon as this toggle is switched to Track,
all further strokes would be added to active track and only strokes which
belongs to active track would be displayed on the screen.

This strokes would be relative to track's position, which means if one
made some strokes to track and started moving it, stokes would be moved
together with track.

Different tracks might share the same grease pencil datablock.

Also hide draw modes which are not supported by space clip.

Initial idea why tracks should have grease pencil datablocks was to
support easy mask creation for tracking. This seemed fastest and
easiest way to achieve mask editing for tracks.

To get mask for specified track there's function BKE_tracking_track_mask_get
which requires MovieTracking structure, track for which mask is creating and
also width and height of current overall frame. it'll return ImBuf with
mask (probably it's more like overkill, because internally it works with
single-channel value buffer and probably that's one should be passing to
libmv).

Probably hacking grease pencil in such way is not ideal solution, but that
part of code might be cleaned up further and it seems to be straightforward
to use grease pencil for such a purpose.

Note: this is commit to tomato branch, not to trunk.
2012-05-14 17:23:37 +00:00
Daniel Genrich
d8ae4b35f2 Patch [#31264] Elbeem Fixes by Jason Wilkins.
Thank you for submitting!
2012-05-14 16:19:58 +00:00
Campbell Barton
389ae71316 when adding new points to mask
- base when adding between 2 points use their handle types.
- when extruding an existing point use its handle type.
2012-05-14 15:59:53 +00:00
Sv. Lockal
1a729d51d0 revert 46626, which crashes blender during startup with fileno
There is a better way to fix this by zlib upgrade, which has its own open function for windows paths
2012-05-14 15:50:35 +00:00
Campbell Barton
255e9ce15a fix for glitch adding markers, when there are 2 splines, and the first spline wasnt active but _was_ selected, Ctrl+Click would use the non-active selected spline.
now use the active spline when available.

also no need to de-select when adding a new vertex inbetween 2 verts in a spline.
2012-05-14 15:24:13 +00:00
Campbell Barton
a32f572f89 svn merge ^/trunk/blender -r46629:46632 2012-05-14 14:55:10 +00:00
Campbell Barton
24fb2bad55 select camera operator now works with view3d unlocked cameras,
also corrected description.
2012-05-14 14:39:21 +00:00
Campbell Barton
0167a75a58 previous lasso commit changed Ctrl+Click for adding markers making Ctrl+Click drag not work quite the same.
now Ctrl+Alt+LMB is lasso.
2012-05-14 14:32:05 +00:00
Campbell Barton
060282ea42 svn merge ^/trunk/blender -r46612:46629 2012-05-14 13:55:12 +00:00
Campbell Barton
ff26474a46 was casting to short for int args. 2012-05-14 13:54:00 +00:00
Keir Mierle
e9d520f482 Refactor byte/float RGBA to grayscale conversion in tracking.c
This is the first in a series of tracking.c refactorings to
disentangle functionality that is sprinkled across unrelated
functions.
2012-05-14 13:46:38 +00:00
Sergey Sharybin
a7a79322bf Make blender compilable by gcc-4.7 and strict compilation flags:
- Remove strict flags from files, which are using FFmpeg stuff
  We're still using some symbols which are marked as deprecated.
  Ideally, we shall switch to new API, but it's a bit larger challenge
  because we don't want to break compatibility withotu actual need.
- Replace MAKE_ID with BT_MAKE_ID in bullet library.
  This is needed to prevent re-definition of MAKE_ID in bullet library.
  Seems it's only used to read blender files, so should be quite safe
  change.
2012-05-14 13:31:38 +00:00
Sv. Lockal
e0e97dfca7 Fix for BLI_gzopen to work with utf filenames in windows 2012-05-14 13:28:36 +00:00
Sergey Sharybin
a54f63b32d Changes to naming tracker vs. track vs. marker to match assumptions taken in
http://wiki.blender.org/index.php/User:Nazg-gul/GSoC-2011/Documentation
2012-05-14 12:50:36 +00:00
Campbell Barton
8b687f6c36 code cleanup: add WM_gesture_lasso_path_to_array, move mouse path to array conversion there. 2012-05-14 12:41:56 +00:00
Keir Mierle
04d26bf44c "Efficient Second-order Minimization" for the planar tracker
This implements the "Efficient Second-order Minimization"
scheme, as supported by the existing translation tracker.
This increases the amount of per-iteration work, but
decreases the number of iterations required to converge and
also increases the size of the basin of attraction for the
optimization.
2012-05-14 12:15:38 +00:00
Campbell Barton
be5b447100 lasso select for movie clip markers. 2012-05-14 12:04:00 +00:00
Keir Mierle
4f81bdf73c Start migrating away from pat_min and pat_max for markers
This starts converting markers in the movie clip editor / 2D
tracker from using pat_min and pat_max notation to using the
a more general, 4-corner representation. There is still
considerable porting work to do; in particular:

- The preview widget does not respect the new
  representation
- The corners cannot yet be edited individually.
- The clamping does not do the right thing for general
  corners; e.g. detecting a convex quad.
- The tracking code in Blender does not actually invoke the
  corner tracking version of libmv's tracking API.

Next steps:

- Convert libmv's legacy ESM tracker and brute tracker to
  work under the new TrackRegion() API.
- Make Blender use the new TrackRegion() API; this will
  allow real planar tracking tests.
- Everything else (UI, etc).

This patch is mostly the work of Sergey Sharybin.
2012-05-14 10:47:25 +00:00
Keir Mierle
bac340e674 Add a planar tracking implementation to libmv
This adds a new planar tracking implementation to libmv. The
tracker is based on Ceres[1], the new nonlinear minimizer that
myself and Sameer released from Google as open source. Since
the motion model is more involved, the interface is
different than the RegionTracker interface used previously
in Blender.

The start of a C API in libmv-capi.{cpp,h} is also included.

The ESM tracker, also known as the KLT tracker in the UI, is
temporarily changed to use the new Ceres-based planar
tracker in translation-only mode. Currently it is a bit
slower than ESM and also doesn't have all the bells and
whistles implemented. Those will come soon. Longer term,
both trackers will remain since Ceres is unlikely to be as
fast as ESM for pure translation solving, due to its
generality.

The next step is to implement a new tracking UI. The current
UI assumes a translational motion model; the new one must
support arbitrary perspective transforms of the pattern
regions.

[1] http://code.google.com/p/ceres-solver
2012-05-13 23:08:56 +00:00
Campbell Barton
4f2c83f573 style cleanup: imbuf & icons 2012-05-13 22:05:51 +00:00
Campbell Barton
cf6450256d style cleanup: comments and whitespace 2012-05-13 21:46:18 +00:00
Campbell Barton
ee9d9f4737 style cleanup: mask, whitespace edits, also use len_squared_v2 for comparisons. 2012-05-13 21:36:42 +00:00
Campbell Barton
2a3fddf5b3 svn merge: Merging r46558 through r46612, from trunk 2012-05-13 18:16:25 +00:00
Antony Riakiotakis
e5963aae1d Change the scons configuration for MinGW-w64 to be more in-line with cmake. Also deactivate openmp as it causes crashes when rendering with subsurf or multires modifiers 2012-05-13 17:26:07 +00:00
Campbell Barton
7444613a9a fix for crash when no mask exists when entering mask transform. 2012-05-13 16:51:17 +00:00
Campbell Barton
b3c1c03ba4 style cleanup: mask files 2012-05-13 16:24:42 +00:00
Thomas Dinges
3a903f7a69 * Typo fix: rna_recursiev_attr_expand -> rna_recursive_attr_expand 2012-05-13 16:23:17 +00:00