Commit Graph

489 Commits

Author SHA1 Message Date
Sergey Sharybin
8a9d901c81 Camera tracking: add camera to follow track and object solver constraint
Object used to be parented to active camera which isn't very convenient when
working with witness cameras.

Now parent camera can be specified in constraint (if it's not specified, active camera is used)
2011-12-15 20:38:23 +00:00
Sergey Sharybin
e534af906a Object tracking: various fixes and improvements
- Bundles selection is now available for object's bundles
- If bundles selection wasn't changed in 3D viewport, fallback to regular
  object selection, so objects behind bundles can be selected
- Snap cursor to selection now respects object's bundle selection
- Object and rack name now can be selected from list in constraint settings
- Added preset for tracks used for object tracking
2011-12-15 16:10:49 +00:00
Sergey Sharybin
ba16e7d631 Object tracking: object with object solver constraint is now parented to scene's camera
Made Object Solver operator parent object to scene's camera. Behavior is pretty much
familiar to Child Of constraint -- it stores inverted transformation matrix which gives
constant offset in parent's space.
Current files would open incorrect, to make object aligned well again, just press
"Set Inverse" button in Object Solver constraint.
Fixed orientation operators so now they should work in all cases.
Also changed behavior of Set Origin operator which now sets origin to the median
point of all selected tracks/
2011-12-15 16:09:57 +00:00
Sergey Sharybin
deb95ddb44 Merging r42621 through r42647 from trunk into soc-2011-tomato 2011-12-15 16:04:59 +00:00
Antony Riakiotakis
6ccc605660 Bicubic bump map filtering.
This commit introduces bicubic bump map capabilities for the viewport for OpenGL 3.0+ capable GPUs. 

To use the functionality change the bump mapping method to "best quality"
Previous "best quality" setting becomes "medium quality" now.
For non OpenGL 3.0 GPUs this becomes the same as "medium quality"

Also:
* added tooltip descriptions to the bump method settings.
* modified the shader to ommit extraneous matrix multiplications for matrices already provided by OpenGL.

Bicubic shader by Morten Mikkelsen. Thanks a lot!

Oh...and FIRST!
2011-12-15 13:58:09 +00:00
Sergey Sharybin
b865c0314f Merging r42533 through r42601 from trunk into soc-2011-tomato 2011-12-13 11:58:59 +00:00
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
Sergey Sharybin
3717a4a9e1 Merging r42482 through r42532 from trunk into soc-2011-tomato 2011-12-09 10:02:01 +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
Brecht Van Lommel
f96ac8c335 Fix #29518: uv cylinder/sphere unwrap from menu didn't work same as using U key menu. 2011-12-07 11:22:29 +00:00
Sergey Sharybin
d0c327c81c Fix #29432: Marquee Select Bug
Moved tweak threshold value to user preferences

This threshold might be needed to be tweaked when working with tables, i.e.
to prevent tap+slight movement be treated as tweak event.
2011-12-07 09:55:37 +00:00
Sergey Sharybin
4fe2df3b8c Make distortion panel be a bit more obvious label 2011-12-06 18:39:16 +00:00
Sergey Sharybin
6ac2bb8b94 Merging r42442 through r42457 from trunk into soc-2011-tomato 2011-12-06 09:27:18 +00:00
Sergey Sharybin
3b1e077b39 Camera tracking: fixed typo in remove tracking preset button 2011-12-06 09:23:35 +00:00
Campbell Barton
04464c6cf9 more minor py edits 2011-12-05 23:05:16 +00:00
Campbell Barton
b44c82b4fd remove invalid NULL checks from own recent commit and minor pep8 edits. 2011-12-05 22:19:30 +00:00
Sergey Sharybin
cbe9713b50 Object solver: minor tweaks
- Rename solving button to Object Motion if active tracking object isn't a camera
- Ignore refine flags when solving object
2011-12-05 19:31:21 +00:00
Sergey Sharybin
9355cc5c39 Object tracking; initial commit
This commit implements basis stuff needed for object tracking,
use case isn't perfect now, interface also should be cleaned a bit.

- Added list of objects to be tracked. Default there's only one object called
  "Camera" which is used for solving camera motion. Other objects can be added
  and each of them will have it;s own list of tracks. Only one object can be used
  for camera solving at this moment.
- Added new constraint called "Object Tracking" which makes oriented object be
  moving in the save way as solved object motion.
- Scene orientation tools can be used for orienting object to bundles.
- All tools which works with list of tracks or reconstruction data now
  gets that lists from active editing object.
- All objects and their tracking data are available via python api.
2011-12-05 18:57:17 +00:00
Sergey Sharybin
756ac13e3a Merging r42394 through r42412 form trunk into soc-2011-tomato 2011-12-04 17:26:35 +00:00
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
Keir Mierle
e98e8acf1a Add minimum correlation widget to tracker default settings panel. 2011-12-04 14:08:58 +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
Keir Mierle
8e01cfa045 Don't show the "Correlation" tracking preset when the hybrid tracker is selected. 2011-12-03 23:33:07 +00:00
Sergey Sharybin
377d5232d4 Rename Movie to Movie Clip source for background image 2011-11-30 05:34:32 +00:00
Dalai Felinto
5763e6ce85 option to disable/enable individual background images
*** use-case:
"I have 10 reference images that overlap each other and every time I want to see one, I need to change the transparency of all the others.
therefore it would be nice to have a little button by each menu to allow enable/disabling individual background images"

To avoid subversioning bump I created a define that is negative (DISABLED) and of course a rna that is a boolean_negative.
Talked with Campbell and he actually prefers this way over do_version, so there it goes.
2011-11-29 21:05:18 +00:00
Thomas Dinges
1a7ae3634d Blender 2.61 Release links and readme:
* Updated links to http://www.blender.org/development/release-logs/blender-261/
* Update readme file for 2.61
2011-11-29 20:13:20 +00:00
Sergey Sharybin
f382dda12d Fixed wrong operator usage in clip editor's reconstruction menu 2011-11-29 17:26:48 +00:00
Bastien Montagne
ac88b67b30 Now wiki link in help menu opens the 2.6 index... Better to do it now than one day before release, and good incitation to finish 2.5/6 index before release! 2011-11-28 19:22:26 +00:00
Thomas Dinges
f64189573d * Never, ever use "col2" or something like that as UI variable name. 2011-11-28 17:10:32 +00:00
Sergey Sharybin
0b5ba70244 Rename tracking settings presets to something which makes more sense. 2011-11-28 16:10:50 +00:00
Sergey Sharybin
a3623a046b Camera tracking: merging tracking presets stuff from tomato branch
This commit implements:

- Configurable settings for newly creating tracks
  Now it's possible to set tracking algorithm and it's settings for
  all newly creating tracks including manual tracks creation and
  tracks creation by "Detect Features" operator.
- Moves margin, frames limit and adjust frame inside per-track
  settings.
  Was request from Francois for this.
- Adjust Frames replaced with menu called Pattern Match where it's
  possible to choose between matching pattern from keyframe frame
  or from previously tracked frame.
  Didn't see somebody used adjust frames values differ from 0 and 1,
  and this menu should make things more clear here/
2011-11-28 13:26:46 +00:00
Thomas Dinges
e07d4aed45 * Fix some wrong icon names in MESH_MT_vertex_group_specials, they caused errors.
Reported by Uncle_Entity in IRC.
2011-11-26 14:04:33 +00:00
Sergey Sharybin
963f721128 Patch #29394: Error in VIEW3D_MT_EDIT_CURVE menu
Wrong shortcut was displaying for Curve -> Control Point -> Tilt operator

Patch by Mike Sloman, thanks!
2011-11-25 09:22:36 +00:00
Campbell Barton
6e28ac2d7b pep8 edits and avoid naming conflicts with python builtins 2011-11-24 19:36:12 +00:00
Sergey Sharybin
fe6a240111 Camera tracking: operator to setup scene for compositing things into footage
This operator does needed changes to

- 3D viewport
- Scene settings
- World settings
- Compositor
- Scene objects

in a way scene becomes ready to be composited into footage.

Known issue: preview doesn't work "out-of-box" after running this script,
selecting View node and hitting Tab helps. Not sure it can be solved
in nicer way at this moment.
2011-11-23 17:30:47 +00:00
Brecht Van Lommel
2345efc6c5 Patch #29336: renaming UV (Texture) Layer to UV Map in the user interface,
by Gaia Clary.

Rationale: the name was confusing and not always used consistently, and this
map itself is not something that can be layered, rather the map can be used
as texture coordinates in some layered setup.

The original intent was to indicate this contained more than just UV's, but
the game engine settings have already been moved out, and apparently users
didn't really get this from the name anyway.
2011-11-23 17:25:25 +00:00
Campbell Barton
b78701f6fe ocean sim
- UV's were not being calculated if there were too many VColor layers.
- precalc (omd->size * omd->spatial_size) was being called in a loop.
- use vector functions to avoid pointer indrections on each access which the compiler wont optimize - eg: och->ibufs_disp[f]->rect_float[4*(res_x*j + i) + 1]
- dont call abs() on ints (converts to double and back to int in this case).

also unrelated render buttons change. move saving options directly under the file path since these were easy to confuse with image format options like zbuf, ycc, preview.. etc.
2011-11-22 18:03:33 +00:00
Sergey Sharybin
5f2c9c660c Fix #29364: Shade Smooth button is misssing in curve object tools.
Added buttons to toolbar to control shading of curves and surfaces
2011-11-22 17:26:40 +00:00
Thomas Dinges
04fe6fc764 * UI Improvements for the uiTemplateImageSettings. 2011-11-22 17:14:47 +00:00
Brecht Van Lommel
c71e31eb4f Fix #29361: uv unwrap > project from view grayed out in menu.
Fix game navigation mesh panel in scene properties not showing closed by default.
2011-11-22 12:18:15 +00:00
Campbell Barton
30fd1ab523 replace ImBuf.depth with ImBuf.planes to match ImageFormatData.planes & to avoid confusion with ImageFormatData.depth 2011-11-21 20:47:19 +00:00
Campbell Barton
0e2c8cdcdd move image settings into their own structure so the interface can be shared where image saving settings are needed.
currently file out node and render output share this struct & UI.
2011-11-21 20:19:58 +00:00
Sergey Sharybin
697e4d2ca7 Last part of camera tracking names cleanup: bundles -> 3d markers 2011-11-21 17:05:27 +00:00
Thomas Dinges
be701c7336 * UI fix for recent Ocean Foam change, makes it a bit more compact. 2011-11-20 14:36:23 +00:00
Lukas Toenne
17b113c784 Option to rename the vertex color data layer used by Ocean modifier for foam. The modifier outputs foam values to both textures and a (temporary) vertex data layer. This layer was unnamed before, which makes it impossible to access in shader nodes. Now the user can input a custom name in the modifier panel, then use that same name in a shader input node to access foam values.
http://www.pasteall.org/pic/21120
2011-11-20 14:16:41 +00:00
Thomas Dinges
01b0cc7f21 UI/RNA:
* Code cleanup.
2011-11-20 00:32:39 +00:00
Thomas Dinges
f515e430bc Bugfix for [#29327] background images: 'Not Set' displayed although image is already loaded. 2011-11-19 23:06:10 +00:00