Commit Graph

3412 Commits

Author SHA1 Message Date
Sergey Sharybin
0bb215eece Camera tracking integraiton
===========================

- Corrected copyrights in my new files header.
- Added debug option to dump as PNG image content of search
  areas tracking between which was failed.
- Removed internal tracking settings like pyramid level and
  tolerance. Weren't useful neither for me nor for artists.
- Fixed bug in BKE_tracking_get_marker which could lead
  to failure of getting marker for current frame when
  there's marker for requested frame.
- Fixed bug with disappearing markers after tracking for
  cases when marker was added at frame different from
  tracking start frame and tracking start frame is
  equal to tracking end frame.
- Stop tracking when no markers could be tracked.
- Changed marker selection rules:
  * If marker isn't selected, all it's areas are getting
    selected with mouse.
  * If marker is selected and selection type doesn't have
    "extend" mode (SHIFT isn't holded down) the nearest
    to mouse cursor area would be selected. All the reast areas
    would loose selection.
- Limit number of frames which would be used in "Track Markers"
  operator. So now you could easily track along 10/20/etc frames.
- Change scene current frame after "Track Markers" operator.
- Implemented speed limitors. Now tracking could happen:
  * As fast as possible
  * With reatime speed (scene FPS)
  * With half of realtime speed
  * With quarter of realtime speed.
- Got rid of orig_user in MovieTrackingContext and user
  in TrackMarkersJob. This prevents crashes when user
  joins some space to SpaceClip from which tracking was started.
- Made keyframes on path bigger and do not draw keyframes for
  non-selected markers.

TODO: need to get rid of storing main, scene and screen
      in TrackMarkersJob. This is needed to set scene's
      current frame after tracking (such behavior is comfortable
      for artists) but this could lead to crash if scene is
      getting removed when tracking job is running.

      Render animation operator also stores scene and main,
      so such solution could be fine for first time before
      we've got something smarter.
2011-06-22 14:54:53 +00:00
Sergey Sharybin
9f769c43a3 Merging r37594 through r37703 from trunk into soc-2011-tomato 2011-06-21 18:24:00 +00:00
Campbell Barton
eaae38551f pep8 compliance 2011-06-21 17:17:51 +00:00
Campbell Barton
6a039f1a5c fix [#27707] Script error for UVs->Copy Mirrored UV coords 2011-06-21 02:16:22 +00:00
Thomas Dinges
ed3dadf489 Blender 2.58 release preparations:
* Update of Release Log Links to point to: http://www.blender.org/development/release-logs/blender-258/
2011-06-20 20:21:52 +00:00
Guillermo S. Romero
31093223cd SVN maintenance. 2011-06-18 23:22:55 +00:00
Campbell Barton
2d01cb5b27 fix for error caused with module relocation - broke loading ngons in OBJ files 2011-06-18 11:40:44 +00:00
Sergey Sharybin
5c7771f6d4 Camera tracking integration
===========================

Test tool: convert track to location fcurves for object in 3d world.
1 pixel on footage is equal to 1 Blender unit.

Added for testing only, could be removed any time -- real
parenting to markers/bundles are only under design now.
2011-06-17 14:47:41 +00:00
Sergey Sharybin
35633f35d5 Camera tracking integration
===========================

Refactored interface of movie clip editor:
- Remove all "modal" things like active tool and mode.
  They aren't so useful as I thought when was starting
  implementation of UI.
- Toolbar (T-panel) now contains tools only, no options/properties there.
- All properties are moved to properties panel (N-panel).
2011-06-17 14:47:22 +00:00
Sergey Sharybin
4cd25c1886 Camera tracking integration
===========================

- libmv's sources would now be added to qtcreator project.
- Fixed compilation with blenderplayer enabled and cmake.
- Fixed bug when tracking was done from frame different from
  initial marker's frame number.
- Implemented backwards tracking.
- Added option to draw track's path. Would be enabled by default
  for new scenes. Could be enabled on "Display" panel for
  files saved in previous version.
- Added operator to clean track path so it could be
  easily tracked form scratch.
- Added hotkeys for tracking, backwards tracking and
  cleaning track path (Ctrl-T, Ctrl-Shift-T and Alt-T).
- Fixed crash when setting clip as a footage.
- Small optimization when trying to track without
  selected markers.
2011-06-17 14:47:04 +00:00
Sergey Sharybin
f4ce5770ca Merging r37518 through r37593 from trunk into soc-2011-tomato 2011-06-17 14:41:44 +00:00
Brecht Van Lommel
5dcb853ed9 Fix #27660: texture space panel was missing for curve & metaballs, now they
have same panel as mesh. Patch by Ronan Ducluzeau, thanks!
2011-06-17 13:53:47 +00:00
Campbell Barton
b306566a44 fix [#25598] projection surface snap issue
Excuse the thrashing, this is from r35438, reverted r35444 under the _wrong_ impression Martin considered unacceptable.
2011-06-17 13:02:23 +00:00
Campbell Barton
7cbc4c0dd7 IDProperty python module update
- add support for IDProp array slicing, but not resizing.
- rename array attribute type to typecode and use chars 'f', 'd', 'i' which match pythons array module. (was using int's which only have a meaning internally).
- rename function 'convert_to_pyobject' to 'to_dict' and 'to_list' for IDProp group and array types respectively.
- remove 'len' array attribute, calling len(array) is fine.
2011-06-17 05:45:46 +00:00
Campbell Barton
3ede710a3c fix for baking actions for objects with no animation data. 2011-06-16 07:48:22 +00:00
Mitchell Stokes
a3e296fc40 Committing patch #25676 Anisotropic filtering in viewport and BGE by me.
This patch adds anisotropic filtering of textures in the viewport and the BGE. The quality of the filtering is adjustable in the user preferences under System. For more information on anisotropic filtering:
http://en.wikipedia.org/wiki/Anisotropic_filtering

One current limitation of this setup (having the option a user preference) is it makes runtimes more troublesome. Runtimes don't have user preferences set, so for now the blender player defaults to 2x AF. Options will be added later to change this value (probably a command line option).
2011-06-15 18:59:22 +00:00
Sergey Sharybin
6e3bcdcb26 Camera tracking integration
===========================

- Marker's preview panel is now avaliable with any
  tool selected (except NONE).
- Fixed bug with marker's point going outside of pattern
  when scaling pattern which isn't centered to marker's pos.
- Changed a bit pattern area image generation.
  Now it shouldn't give artifacts with different kinds of
  offsets caused because of float-?int conversions.
- Rollback code for generating flat buffer of search area
  when tracking. It'll be more accurate with current position
  calculation.
  Will switch to BKE_tracking_acquire_search_imbuf when
  backwards position calculation would be implemented.
- Added option to make markers thin. It's in Debug panel due
  to this option was really useful for debugging preview image
  but not sure it'll be useful for artists.
- Added "View Selected" operator (hotkey is numpad period).
  Fits view to show all selection at the frame.
- Added option "Lock to Selection" which locks view
  to show centered selection. Useful to visual markers
  tracking during playback.
  This option is on "Display" panel.
2011-06-15 17:23:08 +00:00
Sergey Sharybin
1eaea0b484 Merging r37479 through r37513 from trunk into soc-2011-tomato 2011-06-15 17:21:34 +00:00
Campbell Barton
b09bb948ee fix [#27658] Bake action operator error on non armature objects
add support for baking object transformations too, also add option to clear constraints (off by default).
2011-06-15 06:25:05 +00:00
Campbell Barton
62ba2d4c68 Changes to quick explode
- fix python error when the object had an empty material slot
- initialize start frame from the current frame
- set frame range to 300000 max (which is blenders own maximum)
- mesh order was arbitrary, instead use selected -> active, removed invert option.

also fix for missing include in bpy_extras.view3d_utils
2011-06-15 00:16:30 +00:00
Sergey Sharybin
02ace953a9 Camera tracking integration
===========================

- itasc adopted for Eigen3 library.
  It compiles well, but need deeper testing for regressions.
- Removed Eigen2 library.
- Added settings to tracker which could be changed from UI.
- Pattern area is now affects on tracker.
  Currently libmv supports square patterns which are centered
  to marker's position. Maximal pattern dimensions is sending
  to libmv as pattern size. Would be changed when libmv would
  support non-centered and non-square patterns.
- Fixed bug with syncing pattern's flags when tracking.
- Current frame in cache line became a bit more visible.
  It's useful for me to when debugging.
- Changed behaviour of "Add Marekr" operator: not it's non-modal
  and places marker on mouse position at click.
- Added macro "Add Marekr and Move" which is used to place
  markers from toolbar button.
- Added some utility functions to get image buffer under search
  and pattern area which also returns relative position of
  marker center for this images.
  Generated images are more "correct" from coords rounding
  POV, but  re-calculation of marker position back to
  frame coords is more complicated and not implemented yet,
  so old not very accurate logic is still used.
- Added preview widget with content of pattern area.

NOTE: files saved in previous versions of this branch could
      easily crash on tracking. Use "Reset To Settings" button
      from Tracking Settings before tracking selected markers
      for such files.

TODO:
- Implement adjusting marker position from marker's
  preview widget.
- We've got an idea of sliding marker after click before
  releasing mouse button.
2011-06-14 16:22:06 +00:00
Sergey Sharybin
7b40210025 Merging r37437 through r37478 from trunk into soc-2011-tomato 2011-06-14 16:08:39 +00:00
Campbell Barton
519111514f Since scene sequence strips use the 'use_sequencer' setting, make it available in the sequencer panel. 2011-06-13 21:35:24 +00:00
Daniel Genrich
5745f99dee Elbeem / Fluidsim update:
a) Enable the possibility to remove the "air bubble" around submerged collision object. This feature is enabled as standard for new files. The code was found in elbeem by nudelZ, coded and provided by Nils Thürey (thanks!)
b) Old baked files gets deleted if a new bake gets started (were overwritten before and resulted in weird old bake + new bake mixture) (idea by nudelZ)
2011-06-12 23:51:30 +00:00
Thomas Dinges
f96769ef0a Fix/Workaround for [#27643] drawing glitch:
* Removed the Icon of the menu, when an icon is used, it draws a triangle icon, assuming it is a sub menu.
2011-06-12 20:27:28 +00:00
Sergey Sharybin
558d1e8d4a Merging r37371 through r37433 from trunk into soc-2011-tomato 2011-06-12 18:20:36 +00:00
Janne Karhu
e8a1d03570 Quick Explode operator:
* Sets up a particle system and an explode modifier.
* In "blend" mode requires two selected objects and creates "crossed keyed" particle systems between the objects for a simple blend effect where the first object explodes and then recombines as the second object.
* Also renamed the other quick effect operators as "Quick ..." to bring some consistency to the operators (also nice that now you can just write "quick" to the operator search and get all these operators).
2011-06-12 11:14:28 +00:00
Campbell Barton
90d8fcb522 improved autocompleation when there is a common prefix 2011-06-11 17:03:26 +00:00
Thomas Dinges
6fb82a85c9 * Code cleanup 2011-06-10 21:06:59 +00:00
Thomas Dinges
6c343e7b61 2.5 Modifier UI Script:
* Tiny improvement, no need to have split declaration outside of if branch.
2011-06-10 20:41:22 +00:00
Sergey Sharybin
084040acf4 Camera tracking integration
===========================

- Added missed stub for blenderplayer, so it should
  compile again fine.
- libmv is added to extern/.
  Script for bundling needed subset of sourcses from
  libmv repo is included there.
- Eigen3 is also added to extern/.
  libmv depends on Eigen3 (which isnt't compatible with Eigen2
  from API point of view). So both of versions are going to
  be in worktree for time (until code which used Eigen2 would be
  ported to Eigen3).
- Added some functions to libmv-capi, so some things from
  this library could already be used.
- Added the very basic implementation of 2D tracking.
  It should be treated as draft for tracking architecture
  which probably would be cleaned up, changed or whatever else.
  Current implementation was supposed to demonstrate that our
  structures and understading is correct to interact with libmv easily.
2011-06-10 17:17:25 +00:00
Sergey Sharybin
6e0332fd40 Camera tracking integration
===========================

- Disallow moving pattern/search area in way when marker position is
  outside of pattern area.
- MoiveClip could be set as background for 3D view.
  Added background source property to BGPic to switch between image
  and movie. Movie is a bit more complicaated entity than clip (due to
  displaying bundles, test objects and so) that's why i've sliptted
  background into two sources.
- Added Layout.template_movieclip to display general clip settings.
  Used in Footage panel of SpaceClip and background image properties
  in 3d view.
- Display bundles in 3D view as spheres. Selection is synchronized to
  markers associated with this bundle.
  Bundle can't be selected in 3D view.
- Recoded internal DNA structures, RNA and operators to match libmv entities.
  Tracking data now consists of Tracks, each tracks consists of markers
  which are associated with frame number. Markers holds position only,
  pattern and search areas settings are stored in track. Such settings should
  be unified for all markers in track and marker should hold position and
  frame number only.
2011-06-10 17:06:37 +00:00
Sergey Sharybin
eb57876275 Merging r37123 through r37370 from trunk into soc-2011-tomato: 2011-06-10 16:58:07 +00:00
Campbell Barton
9cf0bbb95c added a check to console auto-compleation for pythons struct_seq type, so bpy.app and sys.float_info autocompleate their attributes rather then bring treated as a typle. 2011-06-10 09:44:27 +00:00
Campbell Barton
1f56eee953 fix [#27495] Incorrect result of image name autocompletion 2011-06-10 07:22:35 +00:00
Campbell Barton
9c8cc9fe60 rna option not to save certain properties for redoing later, currently only used by operator presets. 2011-06-07 10:54:57 +00:00
Brecht Van Lommel
9088b69f7a UI: fix render properties panel order, it didn't match order in startup.blend,
so was different when opening a new property editor.
2011-06-06 20:04:58 +00:00
Brecht Van Lommel
841c988179 UI: rename mesh Settings panel to Texture Space, since it only contains
settings related to that. Also close by default.
2011-06-06 19:44:28 +00:00
Thomas Dinges
111b0bf698 2.5 Text Editor:
* Added back Red Alert for "Resolve External conflicts" warning.
2011-06-06 12:52:26 +00:00
Campbell Barton
fc6dcdf17f bug [#27582] Screen Editing > Split and Join area don't work.
added 'INTERNAL' operator flag so operators which are only meant to be called by other operators or internal use are not displayed to the user.

Currently only use this flag for the operator search toolbox, is ignored in debug mode.
2011-06-06 11:56:54 +00:00
Dalai Felinto
7da45bcbcb replacing -> arrows by proper ASCII arrows on Transformation Constraint
Note: Text Editor doesn't support this chr(187) properly. I hardcoded and commented the ui file. I hope it's fine.
2011-06-05 23:38:11 +00:00
Sergey Sharybin
a1c22262fe Bake from multires mesh
=======================

Added option to baked named "Bake From Multires" which is avaliable for
normals baking and displacement baking.

If this option is enabled, then no additional hi-res meshes and render
structures would be created . This saves plenty of memory and meshes
with millions of faces could be successfully baked in few minutes.

Baking happens from highest level against viewport subdivision level,
so workflow is following:
  - Set viewport level to level at which texture would be applied
    during final rendering.
  - Choose Displacement/Normals baking.
  - Enable "Bake From Multires" option.
  - You're ready to bake.

Displacement baker had aditional option named "Low Resolution Mesh".
This option is used to set if you want texture for realtime (games)
usage.

Internally it does the following:
  - If it's disabled, displacement is calculated from subdivided
    viewport level, so texture looks "smooth" (it's how default
    baked works).
  - If it's enabled, dispalcement is calculated against unsubdivided
    viewport levels. This leads to "scales". This isn;t useful for
    offline renders much, but very useful for creating game textures.

Special thanks to Morten Mikkelsen (aka sparky) for all mathematics
and other work he've done fr this patch!
2011-06-05 20:54:04 +00:00
Ton Roosendaal
88676349a4 Code holiday commit:
- fix: user pref, window title was reset to 'Blender' on tab usage

- Undo history menu back:
  - name "Undo History"
  - hotkey alt+ctrl+z (alt+apple+z for mac)
  - works like 2.4x, only for global undo, editmode and particle edit.

- Menu scroll
  - for small windows or screens, popup menus now allow to display
    all items, using internal scrolling
  - works with a timer, scrolling 10 items per second when mouse 
    is over the top or bottom arrow
  - if menu is too big to display, it now draws to top or bottom, 
    based on largest available space.
  - also works for hotkey driven pop up menus.

- User pref "DPI" follows widget/layout size
  - widgets & headers now become bigger and smaller, to match 
    'dpi' font sizes. Works well to match UI to monitor size.
  - note that icons can get fuzzy, we need better mipmaps for it
2011-06-04 17:03:46 +00:00
Daniel Salazar
86f2f425bf UI for texture space in mesh/curve/mball data properties
http://pasteall.org/pic/show.php?id=13244
2011-06-04 08:09:34 +00:00
Sergey Sharybin
c4849aee1c Camera tracking integration
===========================

Implemented basic structures and operators for markers manipulaiton.

Markers contains:
- Position of marker at frame in unified 0..1 coordinates
- Relative positions of left-bottom and right-top corners of pattern area
- Relative positions of left-bottom and right-top corners of search area
- Selection flags

New operators:
- Create new maerker. It's a modal operator which creates markers
  at mouse position when LMB is clicking.
- Delete selected markers.
- Select marker using RMB. Some parts of marker (point, patter, search)
  could be deselected.
- Select markers using rectangular selection.
- Select markers using circle selection.
- Marker translation (G-key).
- Marker scaling (S-key).

UI changes:
- Added mode to space clip. Currently supported modes are:
    * View mode
    * Tracking mode
  This was intended to separate different categories of tools,
  so interface shouldn't be overheaded with plenty of tools
  which aren't actually using in the same time.
- Created new panel when actiev tool is 'MARKER' and there's
  active marker where positions could be adjusted in pixel space.

Internal changes:
- Splitted DNA/RNA movieclip files to make separation of
  tracking data and movie data more clear. This could be useful
  in the future when we'll want to support multiplie moies
  for single camera tracking (to make tracking more accurate).
- Added new file in blenkernel, where all tracking-related function
  would be stored. Not very much function here at this moment,
  but in the future all stuff related on converting DNA to external
  tracking data would be stored here.
2011-06-03 15:39:53 +00:00
Sergey Sharybin
9864c12eef Merging r37010 through r37122 from trunk into tomato.
Manually resolved conflict in startup.blend.c
2011-06-03 14:54:37 +00:00
Campbell Barton
dd0522242a addons now show expanded list again (since Brecht's commit now makes it fast)
also add utility function for getting cleaned, unique names from python: bpy_extras.io_utils.unique_name(...)
2011-06-02 15:21:47 +00:00
Brecht Van Lommel
36cbd78bc3 Fix #27490: export key configuration gave error when trying to export
properties from an unknown (e.g. removed) operator.
2011-06-01 14:35:14 +00:00
Campbell Barton
f51c9fa496 fix for mistake in case insensitive image load. 2011-05-31 09:55:50 +00:00
Campbell Barton
c141ed0aa9 missed this import when moving load image function. 2011-05-30 12:19:30 +00:00