Commit Graph

1396 Commits

Author SHA1 Message Date
Campbell Barton 68a9dd54ec mask mode for clip editor developed by Sergey Sharybin, Pete Larabell and myself.
see:
http://wiki.blender.org/index.php/User:Nazg-gul/MaskEditor


note - mask editing tools need continued development, feather option is not working 100%
2012-06-04 16:42:58 +00:00
Campbell Barton 4413024cdc svn merge ^/trunk/blender -r47325:47381 2012-06-03 18:25:57 +00:00
Bastien Montagne 64039bdf44 Fixing most (if not all) remaining issues with nodes UI i18n.
Note that I had to script-tag all sokets' names, as they are currently completely unknown from bpy.types (and hence unreachable for our po generating scripts).
2012-06-02 19:58:12 +00:00
Lukas Toenne 32fe2d71fc Theme color for frame nodes. The alpha value from this theme color is also used when drawing frames with a custom color (which is just RGB). 2012-06-01 14:42:21 +00:00
Sergey Sharybin c9aa6cf80d Merging r47307 through r47325 from trunk into soc-2011-tomato 2012-06-01 14:08:18 +00:00
Lukas Toenne 17935168c0 Reroute nodes, by Jeroen Bakker (patch #28443).
By holding shift and "cutting" a node link a new reroute helper node can be inserted. This consists of a single socket that can be used to insert additional connection points into a link. This can be used to keep a connection point in the tree when  deleting a node, or to control the path of long connections for layout cleanup.
2012-06-01 12:38:03 +00:00
Campbell Barton 3c194601f4 svn merge ^/trunk/blender -r47253:47272 2012-05-31 11:58:14 +00:00
Jeroen Bakker a9c4f76a6a * Added new dilate/erode function 2012-05-31 10:38:11 +00:00
Campbell Barton d9e8b097bf svn merge ^/trunk/blender -r47214:47229 2012-05-30 14:46:30 +00:00
Lukas Toenne f462743dae Viewer linking operator has to flag the node tree for update, to ensure the dependency sorting is correct (avoid red links). 2012-05-30 14:42:40 +00:00
Campbell Barton 7d04e4c53e svn merge ^/trunk/blender -r47150:47184 2012-05-29 15:02:21 +00:00
Sergey Sharybin ec4f675055 Fixed stupid typo: dispill vs. despill 2012-05-29 14:55:01 +00:00
Sergey Sharybin 876665ac25 Initial commit of new keying nodes
First node is called Keying Screen (Add -> Matte -> Keying Screen) and it's
aimed to resolve issues with gradients on green screens by producing image
with gradient which is later used as an input for screen color in keying nodes.

This node gets motion tracks from given movie clip and trackign object and uses
them to define color and position of points of gradient: for position marker's
position on current frame is sued, for color average color of pattern area is
used.

Gradient is calculating in the following way:
- On first step voronoi diagram is creating for given tracks.
- On second step triangulation of this diagram happens by connecting sites
  to edges which defines area this site belongs to.
- On third step gradient filling of this triangles happens. One of triangle
  vertices is colored with average track color, two rest vertoces are colored
  with average color between two neighbor sites. Current pixel's color in
  triangle is calculating as linear combination of vertices colors and
  barycentric coordinates of this pixel.

This node is implemented for both tile and legacy compositor systems.

Second node is basically a combination of several existing nodes to make keying
more straighforward and reduce spagetti mess in the compositor, but it also
ships some fresh approaches calculating matte which seems to be working better
for not actually green screens.

This node supports:
- Chroma preblur
- Dispilling
- Clip white/black
- Dilate/Erode
- Matte post blur

This node doesn't support chroma pre-blur for legacy compositor (yet).

There're still lots of stuff to be improved here, but this nodes night already
be used i think.

Some details might be found on this wiki page:
http://wiki.blender.org/index.php/User:Nazg-gul/Keying

This patch also contains some currently unused code from color math module, but
it was used for tests and might be used for tests in the future. Think it's ok
to have it in branch at least.
2012-05-29 14:00:47 +00:00
Campbell Barton 0c7fa76e59 remove some more pynode references in the code 2012-05-29 09:42:11 +00:00
Campbell Barton d8d3a6455f remove pynodes, were not working in 2.5, not ported to py3.x 2012-05-29 09:37:23 +00:00
Campbell Barton b6a28065c9 svn merge ^/trunk/blender -r47103:47150 2012-05-29 05:48:07 +00:00
Lukas Toenne 3091c9d440 Fix for node linking operator, which could insert node link into the list twice and cause deadlock due to incomplete test. 2012-05-28 14:39:55 +00:00
Bastien Montagne fd2f05be44 A few minor UI message fixes... 2012-05-28 14:01:42 +00:00
Campbell Barton daa8fe9145 svn merge ^/trunk/blender -r47070:47099 2012-05-28 04:48:42 +00:00
Campbell Barton 295aa880e9 style cleanup: draw node 2012-05-27 19:38:10 +00:00
Campbell Barton d80333c2ad svn merge ^/trunk/blender -r47058:47067 2012-05-27 11:12:29 +00:00
Campbell Barton 857dedbc58 style cleanup 2012-05-27 00:36:50 +00:00
Campbell Barton 25b677787f svn merge ^/trunk/blender -r46966:46979 2012-05-24 16:37:40 +00:00
Campbell Barton da710b3e14 style cleanup: brace placement/newlines 2012-05-24 16:35:45 +00:00
Sergey Sharybin 14a56caee6 Merging r46725 through r46963 from trunk into soc-2011-tomato 2012-05-24 09:47:29 +00:00
Thomas Dinges 66aac12e24 Node Editor UI:
* Added back the single triangle icon for node color special menu, showed empty after recent changes in r46939.
2012-05-23 16:34:41 +00:00
Campbell Barton dab1d8e487 style cleanup 2012-05-22 22:03:41 +00:00
Campbell Barton d2a37d464a code cleanup: double promotion warnings 2012-05-22 21:16:59 +00:00
Thomas Dinges 1a81499d41 Node UI:
* Made the new custom theme options a bit better and more compact.
* Added a few separators to better distinguish these settings from the actual node buttons.
2012-05-22 19:16:20 +00:00
Lukas Toenne 53b01d9002 A number of new features for the node editor in general and the Frame node in particular.
For an detailed user-level description of new features see the following blogpost:

http://code.blender.org/index.php/2012/05/node-editing-tweaks/

TL;DR:
* Frame node gets more usable bounding-box behavior
* Node resizing has helpful mouse cursor indicators and works on all borders
* Node selection/active colors are themeable independently
* Customizable background colors for nodes (useful for frames visual
distinction).
2012-05-22 14:13:33 +00:00
Bastien Montagne 7767239ac7 I18n fixes, mainly for (cycles) nodes (i.e. node template in Buttons window).
Note: the problem of sockets translation remains (for all node types), currently they are unavailable from RNA, hence not detected by i18n tools, so only solution is to add N_() in all node sockets templates… yuck! Really have to fix this.
2012-05-22 08:36:06 +00:00
Jeroen Bakker 146e92311f UI mafia fix thanks to venomgfx for reporting
* Color correction node
2012-05-21 20:10:21 +00:00
Monique Dewanchand cd002016e9 Fix for
[#31408] Code review testing: Button labels are invisible in many nodes
2012-05-21 19:58:23 +00:00
Jeroen Bakker ff87bdecfe [#31410] Code review testing: The color correction node in particular is
quite problematic in button layout
 * Added first column with labels
 * increased max size of node
 * moved the start/end midtones to the bottom of the node
2012-05-21 18:47:55 +00:00
Jeroen Bakker 998a850f9f Added switch in dilate/erode between old (Step) and new (Distance)
algorithm

Connected the Glare Fog Flow to use Fast Gaussian in stead of Bokeh blur
2012-05-21 10:20:30 +00:00
Campbell Barton af3e348430 code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also replace do prefix with do_ for bool vars. 2012-05-19 13:28:19 +00:00
Lukas Toenne ef87676262 Partial revert of r46542.
Displaying image layers with flattened names (render_layer.render_pass) can lead to extremely long socket lists, especially with older files that were used with distinct render layers before. In general the flattening of names would be preferable, but it needs a sensible way of limiting the number of displayed outputs. For now the render layer dropdown selection is the best option to ensure usability.
2012-05-18 09:26:55 +00:00
Thomas Dinges 22942ac74b Compositor / Box and Ellipse Mask:
* "X/Y position" label -> "X/Y". The longer text was barely visible in the UI.
2012-05-17 14:55:01 +00:00
Jeroen Bakker 044e818cf8 ____
`````|````` | |        |                        ..'''' 
     |      | |        |______               .''       
     |      | |        |                  ..'          
     |      | |_______ |___________ ....''             
               merge to TRUNK!

 * The old compositor is still available (Debug Menu: 200)

This commit was brought to you by:

Developers:
 * Monique Dewanchand
 * Jeroen Bakker
 * Dalai Felinto
 * Lukas Tönne

Review:
 * Brecht van Lommel

Testers:
 * Nate Wiebe
 * Wolfgang Faehnle
 * Carlo Andreacchio
 * Daniel Salazar
 * Artur Mag
 * Christian Krupa
 * Francesco Siddi
 * Dan McGrath
 * Bassam Kurdali

But mostly by the community:
Gold:

    Joshua Faulkner
    Michael Tiemann
    Francesco Paglia
    Blender Guru
    Blender Developers Fund

Silver:

    Pablo Vazquez
    Joel Heethaar
    Amrein Olivier
    Ilias Karasavvidis
    Thomas Kumlehn
    Sebastian Koenig
    Hannu Hoffrén
    Benjamin Dansie
    Fred M'ule
    Michel Vilain
    Bradley Cathey
    Gianmichele Mariani
    Gottfried Hofmann
    Bjørnar Frøyse
    Valentijn Bruning
    Paul Holmes
    Clemens Rudolph
    Juris Graphix
    David Strebel
    Ronan Zeegers
    François Tarlier
    Felipe Andres Esquivel Reed
    Olaf Beckman
    Jesus Alberto Olmos Linares
    Kajimba
    Maria Figueiredo
    Alexandr Galperin
    Francesco Siddi
    Julio Iglesias Lopez
    Kjartan Tysdal
    Thomas Torfs
    Film Works
    Teruyuki Nakamura
    Roger Luethi
    Benoit Bolsee
    Stefan Abrahamsen
    Andreas Mattijat
    Xavier Bouchoux
    Blender 3D Graphics and Animation
    Henk Vostermans
    Daniel Blanco Delgado
    BlenderDay/2011
    Bradley Cathey
    Matthieu Dupont de Dinechin
    Gianmichele Mariani
    Jérôme Scaillet

Bronze (Ivo Grigull, Dylan Urquidi, Philippe Derungs, Phil Beauchamp, Bruce Parrott, Mathieu Quiblier, Daniel Martinez, Leandro Inocencio, Lluc Romaní Brasó, 
Jonathan Williamson, Michael Ehlen, Karlis Stigis, Dreamsteep, Martin Lindelöf, Filippo Saracino, Douwe van der Veen, Olli Äkräs, Bruno D'Arcangeli, 
Francisco Sedrez Warmling, Watchmike.ca, peter lener, Matteo Novellino, Martin Kirsch, Austars Schnore, KC Elliott, Massimiliano Puliero, Karl Stein, 
Wood Design Studios, Omer Khan, Jyrki Kanto, Michał Krupa, Lars Brubaker, Neil Richmond, Adam Kalisz, Robert Garlington, Ian Wilson, Carlo Andreacchio, 
Jeremias Boos, Robert Holcomb, Gabriel Zöller, Robert Cude, Natibel de Leon, Nathan Turnage, Nicolas Vergnes, Philipp Kleinhenz, Norman Hartig, Louis Kreusel, 
Christopher Taylor, Giovanni Remondini, Daniel Rentzsch, Nico Partipilo, Thomas Ventresco, Johannes Schwarz, Александр Коротеев, Brendon Harvey, 
Marcelo G. Malheiros, Marius Giurgi, Richard Burns, Perttu Iso-Metsälä, Steve Bazin, Radoslav Borisov, Yoshiyuki Shida, Julien Guigner, Andrew Hunter, 
Philipp Oeser, Daniel Thul, Thobias Johansson, Mauro Bonecchi, Georg Piorczynski, Sebastian Michailidis, L M Weedy, Gen X, Stefan Hinze, Nicolò Zubbini, 
Erik Pusch, Rob Scott, Florian Koch, Charles Razack, Adrian Baker, Oliver Villar Diz, David Revoy, Julio Iglesias Lopez, Coen Spoor, Carlos Folch, 
Joseph Christie, Victor Hernández García, David Mcsween, James Finnerty, Cory Kruckenberg, Giacomo Graziosi, Olivier Saraja, Lars Brubaker, Eric Hudson, 
Johannes Schwarz, David Elguea, Marcus Schulderinsky, Karel De Bruijn, Lucas van Wijngaarden, Stefano Ciarrocchi, Mehmet Eribol, Thomas Berglund, Zuofei Song, 
Dylan Urquidi )
2012-05-17 12:49:33 +00:00
Campbell Barton d82ca6d636 svn merge ^/trunk/blender -r46632:46684 2012-05-16 09:12:18 +00:00
Lukas Toenne 324b22f701 A generalization of the modal node linking operator (for dragging from socket to socket).
This operator still had some built-in assumptions about the connectivity of input/output sockets (1-to-n in all current node systems). For future node systems (e.g. flow-based particles) and for general customizable nodes the operator is now fully symmetric and supports all kinds of connectivity limits (1:1, 1:n, m:1, m:n).

The operator data can also store a list of node links as opposed to a single link now, so that multiple links can be redirected at once. Holding the CTRL key when clicking a socket, all links from/to that socket are detached and can be moved to a different socket. This is useful for quickly appending a node without moving every individual link.
2012-05-15 12:40:43 +00:00
Campbell Barton 060282ea42 svn merge ^/trunk/blender -r46612:46629 2012-05-14 13:55:12 +00:00
Campbell Barton ff26474a46 was casting to short for int args. 2012-05-14 13:54:00 +00:00
Sergey Sharybin 4359564d9b Merging r46495 through r46557 from trunk into soc-2011-tomato 2012-05-11 17:39:57 +00:00
Lukas Toenne 9d91bc38d3 A couple more changes to the file and image nodes to improve access to layers that don't follow Blender's rlayer.rpass naming scheme.
--- Changes to File Output node ---
* Flat layer names in EXR multilayer files.

 For a socket with name "AAA" the previous resulting EXR layer name would be "AAA.AAA", i.e. the render layer as well as render pass would use the socket name.

 Now the "render_layer.render_pass" scheme is ignored in multilayer files, socket names are directly written to EXR layers (EXR layer name is "AAA" in this example). If sockets should have a notion of "render layer" this can still be achieved by explicitly adding a separator, e.g. "AAA.BBB". When loading such layers into a Blender Image struct, the name is interpreted as a "render_layer.render_pass" again (although the image node does not care about it, see below).

* Socket sub-paths (for singlelayer) or layer names (for multilayer) are stored in dedicated string variables in the socket storage data. This way the RNA can define precise string subtypes (PROP_FILEPATH) and length. The file/layer slots are defined as separate structs with own name properties in the RNA as well, so they can be used nicely with the list template.

* Ensure unique socket paths/layer names to prevent overwriting of files and layers respectively.

--- Changes to Image node ---
* Loading multilayer OpenEXR files has improved layer name splitting into render layer + render pass names now. This properly supports arbitrary EXR layer names now.
  Example:

 OpenEXR layer name:   AAA.BBB.CCC

 is split into

 Render layer name:    AAA.BBB
 Render pass name:     CCC

 If the layer name has no '.' separators the render layer name is empty.

* Image node ignores the selected render layer in the image user data. Instead all existing layers are displayed at the same time by combining the render layer names with render pass names again, to reconstruct the original EXR layer name. This avoids the problem that render layers with empty name are not selectetable in the dropdown and allows using all image layers at the same time without duplicating the node.
2012-05-11 08:06:01 +00:00
Sergey Sharybin 16d93f3881 Merging r46203 through r46413 from trunk into soc-2011-tomato 2012-05-08 13:01:16 +00:00
Brecht Van Lommel c53fe94bb4 Fix #31318: cycles preview missing update for other materials using same node
group with certain operations.
2012-05-05 19:44:28 +00:00
Bastien Montagne fef40eda72 Fix related to [#31157]: Tips (descriptions) of macro operators were not set into underlying RNA struct, hence did not show up in UI. 2012-05-05 19:26:53 +00:00
Bastien Montagne f3230c7897 Second part of fix for [#31157]: Some (actually, 172) operators have no tooltip.
About 30 undocumented ops remaining...
2012-05-05 17:10:51 +00:00
Campbell Barton 6292fb4cbd code cleanup: BKE_libblock_find_name() now takes an ID constant rather then a string. 2012-05-05 17:00:11 +00:00