Commit Graph

575 Commits

Author SHA1 Message Date
87d433d16c * Compositor Alpha channel was not effected by the ConvolutionFilters
(Filter:Sharpen, Filter:Soften, etc)
2012-05-29 14:25:28 +00:00
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
daa8fe9145 svn merge ^/trunk/blender -r47070:47099 2012-05-28 04:48:42 +00:00
aab3f71b9d Fix threading issue with Mask node 2012-05-27 16:59:36 +00:00
8c51ecaf90 Use BKE_movieclip_get_size rather than BKE_movieclip_get_ibuf and use ibuf's resolution in tile's Movie Clip node 2012-05-27 14:30:45 +00:00
25b677787f svn merge ^/trunk/blender -r46966:46979 2012-05-24 16:37:40 +00:00
09344fb102 Fix new compositor color to value/bw conversion working different than it did
before. It doesn't make much sense to always multiply with alpha, especially
if it's a premul image that already has it multiplied in.

Patch by Irie Shinsuke.
2012-05-24 14:19:20 +00:00
3305674bb5 Port mask node to new compositor system
Works in the same way as double edge node -- not actually multithreaded
but currently it's fast enough to be used in such way. In the future it
might be changed in some way.

Move actual mask rasterization code to BKE so it's resued by old compositor
system and new compositor. Also in the future it might be used to display
mask preview in mask editor.
2012-05-24 14:01:00 +00:00
5f677f995d * removed clamp from color correction 2012-05-24 06:16:05 +00:00
7505102668 style cleanup: also correct comment 2012-05-23 17:26:49 +00:00
a4257c8880 * Stopped flickering of preview images
* Solved crash when first input socket of brightness node is not
connected
2012-05-23 10:31:16 +00:00
dbd70c05f7 * Composite result is updated when editing (preview were already
calculated, now the final result is also updated in the image space
 * default texture size when not connected to any resolution depended
operation defaults to render size
2012-05-22 09:54:08 +00:00
d3067dfaa2 Fix imbuf users leak in MovieClip tiles node
Leak was caused by not calling IMB_freeImBuf for result of BKE_movieclip_get_ibuf
2012-05-22 09:15:05 +00:00
1ae3929138 Fix for movie distoriton node in tiles
Now it works in the same way as non-tiles node in cases when image's
resolution is not equal to resolution used for calibration.

Also add some additional checks for distortion cache, so now it should
be updating properly when camera intrinsics are changing.

Potentially added support of overscan, but currently all needed computation
is commented out.
2012-05-22 09:15:01 +00:00
72f38b4f09 style cleanup: brace placement. 2012-05-22 06:29:46 +00:00
c55bb6eae2 * Bokeh Image angle now has rnge from -720 to +720 degrees 2012-05-21 14:05:47 +00:00
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
f8c1a71f24 == Compositor ==
This fixes occasional crashes on uninitialized memory, when we open a blend 
file which has movie or image input nodes pointing to none existent 
source files.
2012-05-20 21:24:08 +00:00
ed679693c9 style cleanup: whitespace/indentation 2012-05-19 13:55:54 +00:00
7862b2fa13 style cleanup: compositor, pointer syntax, function brace placement, line length 2012-05-17 22:55:28 +00:00
979f6bab9c style cleanup: braces, compositor 2012-05-17 13:44:15 +00:00
aeb3c0f70e Fix for MSVC float conversion 2012-05-17 13:25:41 +00:00
9b42b99649 MinGW64 and possibly gcc 4.7 doesn't like interface as identifier. 2012-05-17 13:15:58 +00:00
463898014f code cleanup: quiet warnings from compositor merge (builds with -Werror now in cmake) 2012-05-17 13:10:34 +00:00
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