===========================
- Internal changes:
* Fixed bundle.sh script to bundle libmv: it was generating
incorrect CMakeLists header.
* Rename CLIP_OP_delete to CLIP_OT_delete_track.
* Fixed crash when BKE_movieclip_acquire_ibuf is called
with NULL user.
* Made MovieTrackingMarker structure 8-bytes aligned
* Use writestruct rather than writedata for track markers.
This allows to change MovieTrackingMarker safely.
- Added "Delete Marker" operator which deletes marker for
current frame only. Hotkey is Shift-Del.
- Added MovieClip.size and MovieClip.resolution RNA properties.
Use last accessed frame number to get ImBuf from sequence.
- Added different actions for "Clear Path" operator:
* Clear path up to current frame.
* Clear the whole path.
* Cleat remained part of path (for frames after current).
- Changed buttons order and icons for tracking. New order is:
* Track frame backwards.
* Track sequence backwards.
* Track sequence forwards.
* Track frame forwards.
NOTE: this breaks compatibility with existing .blend files again,
but it should be much easier to change data structures without
breackaged in the future.
===========================
- 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.
===========================
- 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.
===========================
- 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.
blender_add_lib now takes a separate include argument to suppress warnings in system includes (mostly ffmpeg & python).
also only build wm_apple.c on apple+carbon configuration.
discussed with Janne, Ton, Nathan and we agreed this kind of change at least needs discussion with module owners.
Its also too close to release to be making these kinds of changes.
commands used:
# reverse merge
svn merge -r36073:36072 .
# for some reason this gave a lot of property changes
svn revert `svn st | grep "^ M" | awk '{print $2}'`
# reverse merging didn't work here, removing while dir.
svn rm extern/eltopo/
# manually fixed conflict in
# ./source/blenderplayer/CMakeLists.txt
#
# also manually removed 2 lines from
# ./CMakeLists.txt
Plugged the eltopo library into the cloth solver.
I was playing with it earlier, and it's so easy to
use I decided to quickly put it in (trunk's) cloth.
See http://www.cs.ubc.ca/labs/imager/tr/2009/eltopo/eltopo.html
. The authors are on the bleeding edge of continuous collision
detection (one of them did ILM's cloth sim).
I
don't really have to time to plug it into softbody, particles,
bullet, fluid, etc, but doing so would be pretty straightforward.
I'll leave that up to someone else.
To use, turn on USE_ELTOPO (in cmake) or WITH_BF_ELTOPO in scons.
add PhysicsConstraints.exportBulletFile(char* fileName) python command
I'll be checking the bf-committers mailing list, in case this commit broke stuff
scons needs to be updated, I'll do that in a second.
globbing vs explicit is discussed here.
http://www.cmake.org/pipermail/cmake/2008-December/025694.html
Practical implications are:
- developers need to keep CMakeLists.txt files up to date.
- Users wont get strange linking errors if they build after a file is added, since CMake detects CMakeLists.txt is modified and automatically reconfigure.