Commit Graph

972 Commits

Author SHA1 Message Date
Campbell Barton
5bb97305a4 fix for node clipboard leak on exit, also use blenders convention for function naming with BKE clipboard funcs. 2012-08-06 08:25:24 +00:00
Campbell Barton
7d2190b79b fix for transforming parented nodes, the node would check its parent was not transformed, but in fact its parents parent could still be getting transformed still, also, the order of initializing transform data made this check unreliable.
fix for mingw broke from one of my own commits, changing header order fixes.
2012-08-05 21:06:56 +00:00
Campbell Barton
e592f757e8 fix for crash when moving frames about in the node space, was possible to move a node into its own child frame (causing recursive parent loop).
also some minor code cleanup.
2012-08-05 20:40:26 +00:00
Campbell Barton
887d517e3b use define for 0.375 = GLA_PIXEL_OFS, used all over the interface.
also use M_SQRT1_2 in math_rotation.c
2012-08-05 17:27:52 +00:00
Campbell Barton
97e9659c53 style cleanup 2012-08-04 12:54:27 +00:00
Campbell Barton
ee86f7fe15 dont re-combute composite nodes when knife and add-socket operators don't add any links. 2012-08-03 23:44:19 +00:00
Campbell Barton
84df85164d fullscreen mask editing now works in the image space over a viewer node. 2012-08-03 20:56:04 +00:00
Sergey Sharybin
6374e3b49d DO not draw active outline for collapsed nodes when they're not selected
Also made corrections to currently unused code
2012-08-03 11:39:34 +00:00
Lukas Toenne
771a7241b9 Fix for node placement when copying to/pasting from clipboard. Child node location is always relative to parent nodes (if the parent is also copied) and must not be offset. Also takes the offset of the edited node group in the editor into account now. 2012-08-03 10:51:29 +00:00
Lukas Toenne
c12d0fd76c Fix for node clipboard copy operator for Frame nodes. Was redirecting the parent pointer of the original instead of the copied nodes. 2012-08-03 10:18:52 +00:00
Campbell Barton
db8c9c24f6 code cleanup: remove unused includes 2012-08-02 23:03:16 +00:00
Campbell Barton
8f07833ed5 code cleanup: move node background image operators into node_view.c 2012-08-02 21:52:09 +00:00
Campbell Barton
5e60ccc65c rename node_state.c --> node_view.c 2012-08-02 21:36:33 +00:00
Sergey Sharybin
7aa44d088f Node selection: make node active before it could be unselected by extending
selection, which matches behavior of all other areas in blender.
2012-08-02 16:01:05 +00:00
Lukas Toenne
9d2173518c Clipboard feature for nodes. With the Copy operator a copy of all selected nodes and links between them is stored in an offscreen list (not in the library). The Paste operator then in turn copies these into the active node tree in the editor.
Currently does not support copying of animation data. This would require copying of individual fcurves etc. between data block, which is not implemented yet.

Also it is currently possible to circumvent some constraints of the nodes, in particular for node groups (e.g. no groups inside groups, render layer not inside groups).
2012-08-02 09:52:37 +00:00
Campbell Barton
829c48a991 code cleanup: headers 2012-08-01 20:39:14 +00:00
Campbell Barton
689c6133ea split node_edit.c into separate files (add, group, relationshops), was almost 5000 loc. 2012-08-01 19:11:17 +00:00
Campbell Barton
179d00fb9c make node select_all consistent with other select operators, also add Ctrl+I, select inverse to node space. 2012-08-01 13:28:19 +00:00
Sergey Sharybin
6704f56c15 Do not highlight non-selected active node with active outline
This would match other areas in Blender.
2012-08-01 09:44:25 +00:00
Sergey Sharybin
75046eadbf Mango request: option to create nodes with hidden preview by default 2012-07-30 17:11:59 +00:00
Campbell Barton
7217927414 add inline functions for max/min ints, good to use when the arguments are function calls (we had a few of these). 2012-07-29 18:14:20 +00:00
Campbell Barton
c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
Campbell Barton
7b4733f422 fix usercount error with dropping images in the node view. 2012-07-27 13:57:03 +00:00
Sergey Sharybin
f230a94d49 Fix crash in drawing socket names when zooming out a lot
--
svn merge -r49291:49292 ^/branches/soc-2011-tomato
2012-07-27 13:49:55 +00:00
Sergey Sharybin
18e874798d Track input node: more control on over output value
Now supports output value of:

- Absolute marker position
- Marker position relative to the very first marker
- Marker position relative to given scene frame
2012-07-27 11:07:12 +00:00
Campbell Barton
b8d96bc011 mask motion blur shutter option 2012-07-27 10:20:36 +00:00
Campbell Barton
b10a35a9a9 motion blur for mask node:
TODO
- add shutter speed option
- add blur option
2012-07-27 09:32:47 +00:00
Campbell Barton
61469d2e3e code cleanup: remove unneeded 'struct' qualifiers 2012-07-26 22:47:05 +00:00
Campbell Barton
733edf8628 option to use manual size input for scene 2012-07-26 13:29:38 +00:00
Campbell Barton
c67e910df6 fix/workaround for glitch with node editing active texture bug - where a node texture in a group could get stuck and the buttons UI wouldnt update to other active nodes.
Files saved with this error will still give problems, toggling group edit will fix.
2012-07-24 12:35:41 +00:00
Campbell Barton
2b286585af fix for node editor re-rendering when the background image was moved in the view. 2012-07-22 13:13:36 +00:00
Lukas Toenne
f883337ba3 Fix #32118, Reroute nodes inside groups get created in wonky places.
Previous attempt was not taking into account parent nodes of the group nodes (i.e. frames). The nodeFromView function should be used to convert between relative node location to absolute view space. Also added this in the node_add_node helper function, which is used in a number of operators for adding nodes in a specific location.
2012-07-20 15:07:06 +00:00
Jeroen Bakker
a56f4fee38 Fix for
* [#32040] size-input of a blur-node is uniform for the whole picture
 * [#32062] Blur node Size input is not working with 
 * [#32140] Blur Node using a greyscale input as size multiplier fails
to work

Node now has a new option (new compositor cannot detect if the connected
part is a single value, or an image connected).

With this option the use of a reference image to multiply the size of
the blur per pixel can be enabled/disabled.

Regards, 
Jeroen
 - At Mind -
2012-07-19 11:05:18 +00:00
Lukas Toenne
2721a17a31 Fix #32118, Reroute nodes inside groups get created in wonky places. The operator needs to take into account the potential offset from the group node (most operators use the node_add_node helper function which does this). 2012-07-19 08:23:56 +00:00
Campbell Barton
29bc3d7024 fix for scons building with compositor 2012-07-17 10:38:22 +00:00
Campbell Barton
f9795b353e fix for building without the compositor 2012-07-17 10:19:47 +00:00
Campbell Barton
54bfdb9296 toggling node hide/sockets/options was triggering a re-render. 2012-07-16 16:16:05 +00:00
Campbell Barton
474b922472 fix: node background image move operator didn't take zoom into account when clamping pan bounds. 2012-07-15 11:33:13 +00:00
Campbell Barton
7cc5af4ef3 minor refactor for rect functions. more consistent naming. 2012-07-15 00:29:56 +00:00
Campbell Barton
e4cfcdc3a6 header comment cleanup, explain whats the difference between confusingly named drarnode.c and node_draw.c. 2012-07-14 15:29:45 +00:00
Sergey Sharybin
807ad1f0e0 Fix #32087: Crash while changing values in comp editor (bt and blender included)
Issue was caused by threading conflict between compositor output node which
is freeing buffers used by render result image and image draw code which
could use buffers at the same time as compositor frees this buffers.

Solved by adding adding  lock around viewer image invalidation and image
drawing.

Use renamed LOCK_PREVIEW mutex for this, which si not called LOCK_DRAW_IMAGE.
With new compositor locking for preview is not needed so it could be removed.

Added the same lock around viewer operation which also frees buffers used
by viewer image. It's actually quite difficult to check whether this is
indeed needed. This code seems to be using acquire/release technique, but
somehow acquiring ImBuf before invalidating it in compositor operation
doesn't resolve the issue, so probably it's not actually locking acquire
and things should be checked deeper.
2012-07-13 13:47:13 +00:00
Lukas Toenne
18d7a23166 Fix #32051, Ungroup operator crashes. The link iterator can be invalidated when unconnected input links are removed. 2012-07-12 15:14:50 +00:00
Campbell Barton
9c464ee2bb improved node frame text alignment and use default label font (not monospaced) 2012-07-10 20:44:25 +00:00
Sergey Sharybin
ba8154e24a Keying screen: small fixes and improvements from tomato
- Fixed issues with calculating matte with balance != 0.5
  It used to be used concave combination of minimal and maximal
  channel values which could be inpredictable.
  Use concave combination of two non-major channels sorted
  by their index, so such combination would always use the same
  coefficients for particular non-major channels.

- Added despill balance slider which defines balance between
  non-major channels used for calculating average of two
  colors. Difference between average value and pixel value of
  major screen channel defines amount of despill. Balance of
  0.5 gives the same behavior as it was before this slider
  was added.

---
svn merge -r48678:48679 -r48789:48790 ^/branches/soc-2011-tomato
2012-07-10 14:53:36 +00:00
Sergey Sharybin
1360147e9e Tag ununsed variable and make function real explicit prototype. 2012-07-10 12:42:03 +00:00
Jeroen Bakker
dc65a26bf6 refactor node highlight code. New implementation will not write to
uninitialized memory. it happened when you delete a node that was being
executed. in the compostor
2012-07-10 12:23:49 +00:00
Sergey Sharybin
5cc0e5f751 Mango request: added an input node to use track's position in compositor
--
svn merge -r48088:48089 -r48091:48092 ^/branches/soc-2011-tomato
2012-07-10 11:01:25 +00:00
Sergey Sharybin
5b57f38fb5 Mango request: option to clamp result of Mix RGB and Color Math nodes
---
Merging r48792 from soc-2011-tomato into trunk
2012-07-10 10:36:18 +00:00
Sergey Sharybin
a158cb4e69 Mango request: disable compositing on file load.
This does not make much sense and just annoys in most of cases.

---
Merging r48793 from soc-2011-tomato into trunk
2012-07-10 10:31:05 +00:00
Lukas Toenne
80867d76e5 Fix #32052, Conflicts in unique node names.
All node group operators which move nodes directly between bNodeTree->nodes lists now make sure the node names are indeed unique in their new environment (the node group tree or the parent tree).
2012-07-10 09:31:08 +00:00