Commit Graph

437 Commits

Author SHA1 Message Date
Sergey Sharybin
9d2caba92e Camera tracking integration
===========================

DeBalie commit (main changes only):

- Code cleanup
- Selectable tracking graph curves and curve knots
- Graph curve and curve knots can be deleted now
- Fixed wrong write when linking libraries
  (error is caused by hardcoded cound of linkable ID blocks)
- Fixed for KLT tracker when using keyframe adjustment
2011-10-29 07:14:31 +00:00
Sergey Sharybin
53efb42a4d Camera tracking integration
===========================

Fixed issues pointed by Campbell in codereview.
2011-10-24 16:41:28 +00:00
Sergey Sharybin
d4be67f501 Camera tracking integration
===========================

Remove $Id$
2011-10-24 15:24:53 +00:00
Sergey Sharybin
7320f6a90a Merging trunk up to revision 41245. 2011-10-24 14:52:04 +00:00
Campbell Barton
4a04f72069 remove $Id: tags after discussion on the mailign list: http://markmail.org/message/fp7ozcywxum3ar7n 2011-10-23 17:52:20 +00:00
Sergey Sharybin
0d6915a4e7 Merging r41176 through r41192 from trunk into soc-2011-tomato 2011-10-22 15:15:42 +00:00
Campbell Barton
19f79f73a8 BLI_utildefine minor edits
- removed AVG2, was only used once.
- remove unused LONGCOPY define.
- removed BLI_STRUCT_OFFSET, was only used once, replce with offsetof
- formatting edits, split some macros over multiple lines.
2011-10-22 03:39:13 +00:00
Campbell Barton
74017cb020 header cleanup and typo's 2011-10-22 01:53:35 +00:00
Sergey Sharybin
1a16ceb0a3 Merging r41140 through r41157 from trunk into soc-2011-tomato 2011-10-20 20:24:04 +00:00
Lukas Toenne
70ba7d02db Fix for #28980, could enter infinite loop during node socket verification if dynamic sockets are present.
Note: in this particular bug report the sockets have some faulty flag settings (none of them should be flagged as SOCK_DYNAMIC), needs more info.
2011-10-20 10:36:02 +00:00
Sergey Sharybin
827fa36f0b Camera tracking integration
===========================

Naming refactor: avoid using acquire from movie clip related functions.
This stuff doesn't need releasing, all locks happens in getters,
so using get instead of acquire makes more sense here.
2011-10-20 09:52:13 +00:00
Sergey Sharybin
3dfd4808c3 Merging r41120 through from trunk r41139 into soc-2011-tomato 2011-10-20 09:49:39 +00:00
Campbell Barton
5cf593a778 strcpy() --> BLI_strncpy(), where source strings are not fixed and target size is known. 2011-10-19 23:10:54 +00:00
Sergey Sharybin
bb9b29bd79 Camera tracking integration
===========================

Fixes for codereview issues pointed by Brecht:

- Replace use_default_clip with use_active_clip setting for
  motion-tracking constraints.
- Removed unneeded Clip panel from toolshelf when no clip is opened.
- Put options in Display panel in one column.
  Don't want properties region be wider and it should also be
  a bit easier to find option you need. Maybe additional re-shuffle
  would be good here.
- Reversed order of items in Clip menu
- Re-ordered selection operators in clip editor Select menu to
  match 3d viewport order.
- Share common part of sensor/shift and so detection between
  object_camera_matrix and Follow Track constraint.
- Fixed typos in translate mode caused by copying files.
- Movie clip angle output is now in radians. Transform node now
  accepts rotation in radians too.
- Use scale-rotate-translate order for transformation node and
  stabilization data.
  Also makes sense when using transform node for non-tracking goals:
  image would stay centered when applying only rotation and scale.
  Think it's nicer.
- Fixed compilation error caused by recent node-update commit.
2011-10-19 21:42:37 +00:00
Sergey Sharybin
39ab569dd9 Merging r41093 through r41119 from trunk into soc-2011-tomato
This revision wouldn't compile, fix will came soon with codereview-related changes.
2011-10-19 21:37:07 +00:00
Lukas Toenne
0d7bd0f9b6 Adds an update flag to the bNode struct (similar to bNodeTree->update).
This prevents access to non-existent typeinfo during type initialization,
when node types have been removed and such nodes are deleted from older files.
All blenkernel functions now only set the node->update flag instead of directly
calling the update function.  All operators, etc. calling blenkernel functions
to modify nodes should make a ntreeUpdate call afterward (they already did that
anyway).

Editor/RNA/renderer/etc. high-level functions still can do immediate updates by
using nodeUpdate and nodeUpdateID (replacing NodeTagChanged/NodeTagIDChanged
respectively). These old functions were previously used only for setting
compositor node needexec flags and clearing cached data, but have become generic
update functions that require type-specific functionality (i.e. a valid typeinfo
struct).
2011-10-19 17:08:35 +00:00
Sergey Sharybin
70c8e65021 Merging r40990 through r41036 from trunk into soc-2011-tomato 2011-10-15 19:19:24 +00:00
Campbell Barton
febcb91b82 - add template for defining custom driver functions.
- comment unused assignments.
2011-10-15 07:19:34 +00:00
Brecht Van Lommel
22e4f9e3bb Fix #28914: crash loading file saved with cycles builds in trunk.
The cause is an unknown node socket type in node groups. Ideally the node system
should handle this better and remove the unknown sockets from groups, but this
is a bit of a risky fix to do now, so instead the shader socket type has been
added, since this is a simple change and the code has been tested well.
2011-10-14 12:20:58 +00:00
Sergey Sharybin
b475a7b56a Merging trunk up to rev 40959 2011-10-12 16:28:42 +00:00
Lukas Toenne
da0354e054 Free cache data when creating a new group from selected nodes. This would leave unfreed memory behind otherwise, since node groups don't have internal caches. 2011-10-12 13:53:03 +00:00
Lukas Toenne
89dd5e933f Fix for #28876, alpha over with empty image node gives black result.
The image node output is the default value when no image is selected. In pre-2.60 this was always initialized to 0 alpha, the defaults written in the node socket templates were completely ignored for outputs (except for value and RGB input nodes, which use these as button values). Now the stack values are initialized with the template defaults, which are all 0 by default. This patch changes alpha to 0 for image and render layer outputs too.
2011-10-12 13:07:30 +00:00
Lukas Toenne
a85f595721 Fix for #28886, compositor cache regression bug.
The problem was that all outputs got tagged indiscriminately (esp. hidden render layer sockets), leading to full recalculation every time. This was caused by erroneous tagging of bNodeStacks with hasinput/hasoutput flags. This patch restores the old behaviour of tagging all non-static stacks as input values and all outputs that are connected to some input. Only difference is in node groups, where the hasoutput flag is no longer abused for tagging internal buffers, here the is_copy flag is used instead.
2011-10-12 12:55:32 +00:00
Sergey Sharybin
c1aca1ddb3 Camera tracking integration
===========================

Scale compositor node feature: if there's no input and scaling is set to
absolute, generate image with given resolution using color from input
socket as background. Useful to generate "overscanned" foortage.
2011-10-09 20:28:35 +00:00
Sergey Sharybin
6f42be1e70 Camera tracking integration
===========================

Support for (un)distortion of images with overscan. Needed for
easier keeping this up-to-date until proper overscan support is
implemented in renderer. Not exposed into UI yet at all.
2011-10-09 20:28:29 +00:00
Sergey Sharybin
92ddc03126 Camera tracking integration
===========================

Fixed threading issues used to happen when compositor tree
and rendering happened in the same time. Problem was caused
by cached camera intrinsics stored in MovieTracking structure
and access to which wasn't thread-safe.

Now each movie distoriton mode stores it's own camera intrinsics
in it's storage which makes compositor (un)distoriton be totally
thread-safe and this also makes compositor tree faster when
(un)distortion happens on images with different resolution.
2011-10-07 19:21:29 +00:00
Sergey Sharybin
f8b081153b Merging r40653 through r40847 from trunk into soc-2011-tomato 2011-10-07 18:57:26 +00:00
Bastien Montagne
6ad5e2ef1f Fix [#28436] ID mask creates 'feather' around ID even with AA turned off.
Perhaps not the ideal solution, but it works, is easy to undo if/when we have a better one, and I’m pretty sure it won’t break anything...
2011-10-02 12:57:49 +00:00
Sergey Sharybin
a36dd050ed Camera tracking integration
===========================

- Merge Movie Distort and Movie Undistort nodes into one node
  called Movie Distortion where action (distort/undistort is specified).
- Implemented more proper distortion/undistortion for scaled images.

NOTE: Please, delete distortion nodes with current blender first
      before opening files with blender versions from this commit/
2011-09-28 13:31:32 +00:00
Sergey Sharybin
78c7ec6401 Merging r40615 through r40652 from trunk into soc-2011-tomato 2011-09-28 10:45:39 +00:00
Campbell Barton
018fa1540e whitespace edits, make formatting for functions consustent at least within the file. 2011-09-28 05:53:40 +00:00
Sergey Sharybin
03f3e7b3fc Merging r40572 through r40597 from trunk into soc-2011-tomato 2011-09-27 09:26:46 +00:00
Campbell Barton
58587a3881 replace strncpy with BLI_strncpy, in some cases strncpy was being misused since it doesnt ensure \0 termination.
also dont call CTX_data_scene() twice when checking for function arguments.
2011-09-26 18:51:10 +00:00
Sergey Sharybin
ae8c7c6b10 Merging trunk into soc-2011-tomato up to revision 40540 2011-09-25 20:03:03 +00:00
Campbell Barton
274b9c8fb8 whitespace cleanup 2011-09-25 12:31:21 +00:00
Sergey Sharybin
07e57233e2 Merging r40265 through r40492 from trunk into soc-2011-tomato 2011-09-23 13:20:21 +00:00
Campbell Barton
86d528afa7 comment some unused vars / assignments. 2011-09-22 03:14:50 +00:00
Campbell Barton
4b449aefea remove support for irix 2011-09-21 08:40:30 +00:00
Campbell Barton
84d06f252e tag & comment unused vars with /* UNUSED */ 2011-09-20 08:48:48 +00:00
Campbell Barton
6791052832 tidy up
- quiet some warnings
- set some functions static
- replace materialbyname with generic BLI_findstring call
2011-09-20 04:38:59 +00:00
Sergey Sharybin
6350a3454c Camera tracking integration
===========================

Implemented "Movie Distort" and "Movie Undistort" nodes which
uses camera undistortion coefficients.

Not perfect for footages shoted on cameras with pixel aspect != 1:
there's extra scaling down and scaling up caused by others areas supposing
frame aspect x be 1 and multiplying height by 1.0/pixel_aspect.
Not so critical but would be nice to solve.
2011-09-16 14:47:32 +00:00
Sergey Sharybin
8576496024 Merging r40242 through r40264 from trunk into soc-2011-tomato 2011-09-16 14:45:32 +00:00
Campbell Barton
2222f536f8 use replace 0 with NULL for pointers, set some functions static
also fixed own errors in recent static check commit.
2011-09-16 08:20:21 +00:00
Sergey Sharybin
bd05d5565a Merging trunk into soc-2011-tomato up to revision 40241 2011-09-15 18:59:30 +00:00
Campbell Barton
4bd0a2ba2d replace VECCOPY -> copy_v3_v3, added copy_v*_v*_short too for typesafe copying, some parts of the code are copying float -> short normals without scaling. fix coming next. 2011-09-12 04:14:12 +00:00
Campbell Barton
2827ee26e5 fix for ntreeGPUMaterialNodes(), using uninitialized exec pointer.
also commented some set-but-unused variables.
2011-09-12 00:00:21 +00:00
Sergey Sharybin
74ced9f2ea Merging r39998 through r40043 from trunk into soc-2011-tomato 2011-09-08 18:59:35 +00:00
Lukas Toenne
3dccd96ac7 Fixed potential issue in mirrored loop node sockets. These are currently not used, but clang pointed this out. 2011-09-08 07:05:27 +00:00
Lukas Toenne
939a733659 Shader node tree exec data cannot use the exec->nodetree before it is initialized. 2011-09-08 06:14:03 +00:00
Lukas Toenne
7db716599c Fix for crash when duplicating image or render layer nodes.
These nodes use cached buffers (in sock->cache), which need to be cleared when duplicating the node, otherwise the buffer will be freed twice.
2011-09-07 12:46:30 +00:00