Commit Graph

4639 Commits

Author SHA1 Message Date
Sergey Sharybin
2da49c4a8f Rotation support for motion tracking markers
Implemented general transformation tool Rotation for motion tracking data.
Mainly used to rotate pattern of markers.

To achieve most of usability, added configurable pivot point which is in fact
was median point before, but now can be chosen from boundbox center, median point
or individual centers. Individual centers means transformation would be performed
around marker's position, which is useful for rotation and scale.

Also implemented alternative scaling transformation -- hit S, S leads to
scaling of pattern area only.

TODO:
- clamping in some cases isn't working well, but that's easier to be resolved
  after moving search are to marker.
- Update startup.blend so clip editor in Motion Tracking screen would be set to
  Individual Centers by default.
2012-05-18 09:33:50 +00:00
Keir Mierle
7414ccfeeb Add light-normalized tracking to the planar tracker
This commit adds the ability to normalize patterns by their
average value while tracking, to make them invariant to global
illumination changes.

To see this in action, check out the "Lobby" scene from Hollywood
VFX. If you track the markers that are shadowed by the actress,
previously they would not track. With the scale adaption on, the
tracker would shrink the area to compensate for the changed
illumination, losing the track. With "Normalize" turned on, the
patch is correctly tracked and scale is maintained.

A remaining problem is that only the Ceres cost function is
updated to handle the normalization. The brute translation search
does not take this into account. Perhaps "Prepass" (see below)
should get disabled if normalization is enabled until I fix the
prepass to normalize as well.

There are a few other changes:

- Cleanups in tracking RNA comments.

- Bail out of the sampling loop early if the mask is zero; this
  saves expensive samples of the image derivatives.

- Rename the wordy "Translation initialization" to "Prepass" at
  Sebastian's suggestion.

- Fix a bug where the mask was ignored when sampling in the cost
  functor.
2012-05-18 02:12:47 +00:00
Keir Mierle
82e45dd275 Add panels for the new planar tracker
This replaces the old style tracker configuration panel with the
new planar tracking panel. From a users perspective, this means:

- The old "tracking algorithm" picker is gone. There is only 1
  algorithm now. We may revisit this later, but I would much
  prefer to have only 1 algorithm. So far no optimization work
  has been done so the speed is not there yet.

- There is now a dropdown to select the motion model. Choices:

  * Translation
  * Translation, rotation
  * Translation, scale
  * Translation, rotation, scale
  * Affine (Not implemented yet)
  * Perspective

  The most stable is the "translation" parameterization. The
  others work but still require some tweaking.

- The old "Hybrid" mode is gone; instead there is a toggle to
  enable or disable translation-only tracker initialization. This
  is the equivalent of the hyrbid mode before, but rewritten to work
  with the new planar tracking modes.

- The pyramid levels setting is gone. At a future date, the planar
  tracker will decide to use pyramids or not automatically. The
  pyramid setting was ultimately a mistake; with the brute force
  initialization it is unnecessary.
2012-05-17 17:09:51 +00:00
Campbell Barton
37f6ed397d svn merge ^/trunk/blender -r46699:46714 2012-05-17 09:34:22 +00:00
Joshua Leung
1b14c85e57 KeyingSets UI - Improving button layout for legibility of buttons
* Use custom names for the keying options enum. The old automated layout dumped
out lengthy names which
didn't work well with the limited UI widths we were using, leading to all the
interesting stuff getting cropped out

* Moved the "array target" options to be in line with the rest of the target
specification stuff. I've ended up flattening that set of options into a single
row, which seems to work quite well.

* Removed label from grouping method enum. There was a perfectly good section
header above, and with narrow UI's, the name of this and the one below ended up
looking the same/confusing.
2012-05-17 02:49:09 +00:00
Campbell Barton
d82ca6d636 svn merge ^/trunk/blender -r46632:46684 2012-05-16 09:12:18 +00:00
Joshua Leung
ffd56fdae4 Bugfix [#31469] 'cyclic offset' option is broken
Removing this option from the UI. Cyclic offset and/or other the myriad of other
half-working walk/stride cycle stuff has been removed pending further review at
a later date about what's really needed, and the best way to do so with regards
to different rig types (i.e. setup antagonistic).
2012-05-16 02:40:14 +00:00
Campbell Barton
eb22b52482 style cleanup: pep8 2012-05-15 18:50:51 +00:00
Campbell Barton
e79c29a1d6 style cleanup: raytree code 2012-05-15 18:45:20 +00:00
Sergey Sharybin
fb2b6639dd Remove "Use Root Coordinates" from the interface
Seems it was never ported since 2.49 and currently makes no sense.
2012-05-15 15:55:59 +00:00
Sergey Sharybin
8496162cef Fix for second part of #31445: Surface "Control Points" menu is empty
The only difference that it should be Select Linked All operator added to the menu
2012-05-15 15:34:49 +00:00
Sergey Sharybin
fbea5692ea Fix #31445: Surface "Control Points" menu is empty
It is possible to create hook for surfaces, so display this entry
in Control points menu.
2012-05-15 15:28:59 +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
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
2a3fddf5b3 svn merge: Merging r46558 through r46612, from trunk 2012-05-13 18:16:25 +00:00
Thomas Dinges
3a903f7a69 * Typo fix: rna_recursiev_attr_expand -> rna_recursive_attr_expand 2012-05-13 16:23:17 +00:00
Bastien Montagne
800bc74a8f Adds “align” option to snap to verts/edges/faces, for bones in Pose mode.
Have to use a ugly hack, as for pose bones, rotscale transform matrix is not always the same as translate one... :/

Adresses feature request [#30979] snapping: "align rotation with the snapping target" and pose-mode.
2012-05-13 16:01:59 +00:00
Thomas Dinges
13bbf1cc7b Sequencer / Clip Editor:
* Make it more clear that the Memory Cache Limit is used by the Clip Editor as well.
2012-05-13 09:26:01 +00:00
Thomas Dinges
7735e56058 More work for [#31429] Curve menu polish.
* Curve Extrude and Duplicate from Toolbar also moves the points now, same as for Mesh and in alignment with the menu. 

* Fixed yet another tooltip.
2012-05-13 09:13:47 +00:00
Campbell Barton
9004f9f998 add access to bevel weight modal operator (only available in the Shift+E edge menu currently) 2012-05-12 23:07:52 +00:00
Campbell Barton
7413ab8f1f fix [#31428] bpy.ops.wm.path_open only works once 2012-05-12 21:11:48 +00:00
Thomas Dinges
ed12a5d001 3D View:
* Changed Duplicate and Exture Operator fpr Curves/Surfaces to Duplicate/Extrude and Move, like for Mesh objects, for consistency. This is also consistent with Shift+D and E shortcut. 

This fixes [#31429] Curve menu polish.

* Fixed a wrong tooltip for metaball duplication.
2012-05-12 20:50:46 +00:00
Campbell Barton
564a6c2353 fix [#30905] Operator preset save doesn't serialize PropertyGroups
fix based on patch by Julien Rivaud (frnchfrgg), but re-written a bit differently not to be operator specific.
2012-05-11 18:55:14 +00:00
Sergey Sharybin
4359564d9b Merging r46495 through r46557 from trunk into soc-2011-tomato 2012-05-11 17:39:57 +00:00
Nicholas Bishop
ee9f917f08 Add keymap and menu entries for masking.
* Add CTRL+IKEY to invert the mask.

* Add ALT+MKEY to clear the mask.

* Change the 'Hide' menu in sculpt mode to 'Hide/Mask', adds entires
  for clearing, filling, and inverting the mask, as well as hiding
  masked regions.
2012-05-10 20:36:13 +00:00
Nicholas Bishop
c8465eb42c Add mask brush for sculpt mode.
The mask brush currently has two modes, 'draw' and 'smooth'.
2012-05-10 20:35:32 +00:00
Campbell Barton
f3d721aa93 minor changes to sequencer api
- rename seqelements.push(file) --> filename
- rename SoundSequence.waveform --> show_waveform
- dont pass context to sequencer functions. editing any scenes sequence can be done, irrespective of context.
2012-05-10 15:32:01 +00:00
Sergey Sharybin
5c705a3f33 Merging r46469 through r46494 from trunk into soc-2011-tomato 2012-05-10 11:20:15 +00:00
Campbell Barton
cd85e5b317 fix [#31383] EditBone.align_orientation() uses Vector.normalize() incorrectly 2012-05-09 19:05:29 +00:00
Sergey Sharybin
dfad263219 Merging r46456 through r46468 from trunk into soc-2011-tomato 2012-05-09 15:37:56 +00:00
Campbell Barton
895e426e26 patch [#31359] Py Console: Empty current line
from Sebastian Nell (codemanx), with some edits

- Changed key shortcut to Shift+Enter.
- made into its own operator since it works differently to delete.
2012-05-09 14:58:57 +00:00
Sergey Sharybin
16d93f3881 Merging r46203 through r46413 from trunk into soc-2011-tomato 2012-05-08 13:01:16 +00:00
Bastien Montagne
1118b3fe3f Mesh elements sorting refactor.
Now only one operator. Same options for vertices, edges and faces (so adds edges sorting, and some options to vertices sorting).

Face sorting should behave as previously. However, XSortVerts won’t pack anymore selected vertices at the begining of the vert array (as it used to), if you want such behavior you’ll have to first run SortElements with Selected action.

Also added bug ref I forgot in r46354 (armature.c).
2012-05-06 17:14:56 +00:00
Campbell Barton
fbf06d0f5d update for recent RNA change 2012-05-06 13:41:27 +00:00
Campbell Barton
e17a708dce add back pose specials menu, also add back the ability to clear user transforms on all bones (not just selected - mango request - was possible in 2.4x).
- rename only_select op property to only_selected (both were used).
- only do mingw workaround when building with FREE_WINDOWS defined.
2012-05-06 12:13:45 +00:00
Bastien Montagne
b65cc42145 Fix for [#31327] Text editor menu incorrect (Patch attached)
Patch by Justin Dailey, thx!
2012-05-06 07:59:37 +00:00
Joshua Leung
d2d272711d Timeline Header: Only show the "use active keyingset only" toggle (beside the
autokey button) if autokeying is enabled. This was only useful when the latter
was actually enabled.
2012-05-06 06:57:02 +00:00
Joshua Leung
1cf2c099f7 Bugfix [#31297] Transform menu often showed operators which didn't make sense
for the contexts they appeared in

The VIEW3D_MT_transform menu was being used everywhere, although not all the
operators there applied to the current mode (e.g. the pivot point, animated
transforms to deltas, and a few others were Object-mode only). Split off the
offending parts into separate menus for the specific modes, and made these
extend the basic menu type.
2012-05-06 06:37:07 +00:00
Joshua Leung
364388b9f2 Removing the old armature 'deform' settings (use vertex groups/envelopes/quats).
As far as I could tell, these were really only still used for "virtual
modifiers", though we really don't use these anymore. Instead, most of the time,
people need to set these settings in armature modifiers directly (these didn't
even get copied over in that case). This was a source of confusion and
redundancy, so removing these now.

This change can be reverted if these were actually of some use out there...
2012-05-06 04:50:04 +00:00
Joshua Leung
5d02292d3c Bugfixes for Motion Path drawing/updating in light of the recent changes:
* Added proper "update" operators in place of the abuse of the calculate
operators, so now the display ranges won't get overwritten everytime (with the
default values) you go to update the paths.

* Display range settings in properties editor now actually work. Before, the "In
Range" mode only displayed the entire paths.
2012-05-06 04:18:13 +00:00
Bastien Montagne
e9ac31bee4 Fix [#31322] Assign to Active Group adds new group 2012-05-05 17:33:18 +00:00
Campbell Barton
9b37bf21f4 feature request from VenomGfx- lock to active as an operator since its tedious setting the object and bone manually (especially if you have it right in front of you)
uses keys
- Shift+PadPeriod --- to set
- Alt+PadPeriod --- to clear (also clears cursor and camera locking)
2012-05-05 16:38:23 +00:00
Campbell Barton
e96187250e fix [#31136] Save All Edited only works for Saved external image, not New or Packed image (bpy.ops.image.save_dirty) 2012-05-04 17:39:37 +00:00
Sergey Sharybin
72fa158724 Added start and end bevel factor for curves, so now it's possible to make
a bevelled curve which isn't fully covered with a bevel.
2012-05-04 17:04:20 +00:00
Dalai Felinto
d7fbe03a8a Fisheye Camera for Cycles
For sample images see:
http://www.dalaifelinto.com/?p=399 (equisolid)
http://www.dalaifelinto.com/?p=389 (equidistant)

The 'use_panorama' option is now part of a new Camera type: 'Panorama'.
Created two other panorama cameras:

- Equisolid: most of lens in the market simulate this lens - e.g. Nikon, Canon, ...)
             this works as a real lens up to an extent. The final result takes the
             sensor dimensions into account also.
             .:. to simulate a Nikon DX2S with a 10.5mm lens do:
                 sensor: 23.7 x 15.7
                 fisheye lens: 10.5
                 fisheye fov: 180
                 render dimensions: 4288 x 2848

- Equidistant: this is not a real lens model. Although the old equidistant lens simulate
               this lens. The result is always as a circular fisheye that takes the whole sensor
               (in other words, it doesn't take the sensor into consideration).
               This is perfect for fulldomes ;)

               For the UI we have 10 to 360 as soft values and 10 to 3600 as hard values (because we can).


Reference material:
http://www.hdrlabs.com/tutorials/downloads_files/HDRI%20for%20CGI.pdf
http://www.bobatkins.com/photography/technical/field_of_view.html

Note, this is not a real simulation of the light path through the lens.
The ideal solution would be this:
https://graphics.stanford.edu/wikis/cs348b-11/Assignment3
http://www.graphics.stanford.edu/papers/camera/


Thanks Brecht for the fix, suggestions and code review.
Kudos for the dome community for keeping me stimulated on the topic since 2009 ;)

Patch partly implemented during lab time at VisGraf, IMPA - Rio de Janeiro.
2012-05-04 16:20:51 +00:00
Joshua Leung
2bc29ff426 Patch [#30654] Wiki Quick Hack: Text editor move lines up/down
Submitted by: Justin Dailey (dail)

Patch allows the current line (or selected lines) to be moved up and down with
Ctrl+Shift+Up and Ctrl+Shift+Down. Has undo/redo support and operators in python
menu.
2012-05-04 14:27:13 +00:00
Sergey Sharybin
48ead27366 Camera tracking: switch dopesheet information to lazy calculation
All operators which changes tracking data now just tags dopsheet as outdated,
actual re-calculaiton of happens only when this information is actually needed
(like on dopesheet draw).

This makes things a bit faster when there's no dopesheet visible in current
screen and also makes it much easier to update dopesheet using dependency
graph.

Also renamed dopesheet_sort_order to dopesheet_sort_method in rna and internal
stuff which makes much more sense and also correlated with naming in
file browser.
2012-05-03 23:15:01 +00:00
Sergey Sharybin
b1006fb949 Clip editor: sort order for dopesheet channels
Supported sorting by name, longest tracked segment and total tracked frames.

Internally tracks are stored in Tracking datablock, but sort order is
a clip editor space property and sorting happens on clip editor draw.
If there's no dopesheet opened with different sort orders it's not
a problem due to re-sorting wouldn't happen.

Also fixed draw issue of tracked segments introduced in previous commit.
2012-05-03 19:28:41 +00:00
Sergey Sharybin
ca10d0d187 Camera tracking: apparently one of tracking presets was never merged from tomato 2012-05-03 17:00:08 +00:00