Commit Graph

148 Commits

Author SHA1 Message Date
Campbell Barton
e6a43441b9 disable GaussianAlpha from attempting to get a non existing socket - and add an assert if this is attempted. 2012-06-16 19:34:38 +00:00
Campbell Barton
570cc70772 style cleanup: compositor operations 2012-06-15 18:42:03 +00:00
Campbell Barton
cde4d72848 style cleanup: more nodes 2012-06-15 17:57:39 +00:00
Campbell Barton
687b6e5447 style cleanup: remaining nodes in intern/ 2012-06-15 17:41:12 +00:00
Campbell Barton
d0ebb1df57 fix for using un-initialized memory in the new compositor for the split view node. 2012-06-15 13:35:24 +00:00
Sergey Sharybin
1f19bacf8e Kaying node from tomato branch
Merge keying node from tomato branch into trunk.

It was considered stable and helpful by Mango team and it'll help
studio pipeline, because nodes would stop disappearing when opening
files in current trunk.

Full information about keying nodes could be found there:
http://wiki.blender.org/index.php/User:Nazg-gul/Keying
2012-06-14 12:19:13 +00:00
Sergey Sharybin
d56e77ada5 Keying Screen node from tomato branch
Merge Keying Screen node developed in tomato branch into trunk.

This node is aimed to make dealing with non-even greenscreens better
by generating gradiented image which could be used a input for keyer
nodes.

Based on building voronoi diagram using motion tracking markers as
sites position and average pattern color as color for that site.

Pretty straignforward node, some documentation is there
http://wiki.blender.org/index.php/User:Nazg-gul/Keying#Screen_color
2012-06-14 12:18:42 +00:00
Jeroen Bakker
68386ef23a resolutions were not propagated correctly. 2012-06-14 10:21:53 +00:00
Jeroen Bakker
8ebec02df6 Removed the actual data type concept as it was never used. 2012-06-14 09:41:41 +00:00
Jeroen Bakker
fac417a3ba Fixed glares 2012-06-14 03:11:36 +00:00
Campbell Barton
bde7e6c96b stule cleanup: node headers 2012-06-13 23:31:47 +00:00
Jeroen Bakker
be1b5f82ce * optimized threading
* break out with glare node
 * Added OpenCL kernels compatible with AMD still need some testing.
2012-06-13 12:34:56 +00:00
Campbell Barton
e1241030db yse BLI_math for the compositor in more places. 2012-06-12 20:04:55 +00:00
Jeroen Bakker
ac5a735e3f * FIX for
- [#31777] Border Crop gives black 
   - [#31768] Crash when connecting a Math node to a translate node in Tiles comp
   - [#31638] View node in new node compo system crashes when inside a group
 * make sure a very fast vignette can be made by using a EliipseMask + Fast Gaussian blur
2012-06-12 04:23:21 +00:00
Sergey Sharybin
189f16362d Merging r47669 through r47673 from trunk into soc-2011-tomato 2012-06-10 12:33:30 +00:00
Lukas Toenne
7496a58cfb Applied and completed a compositor patch by Brecht to use signalling and waiting in scheduling and worker threads instead of continuous loops with sleep times. This should help reduce unnecessary wait times in Tile. 2012-06-10 12:26:33 +00:00
Sergey Sharybin
f06f1878c2 Merging r47624 through r47661 from trunk into soc-2011-tomato 2012-06-10 09:44:26 +00:00
Campbell Barton
8e7d7d5ea5 code cleanup: reduce float/double promotion 2012-06-09 19:57:14 +00:00
Sergey Sharybin
26f9fe3962 Merging r47581 through r47603 from trunk into soc-2011-tomato 2012-06-08 09:36:17 +00:00
Jeroen Bakker
de7fe937ff * Added OpenCL kernel for bokeh blur
* Uncomment COM_OPENCL_ENABLED from COM_defines.h to test
2012-06-08 09:17:07 +00:00
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
Campbell Barton
5e424cacb5 minor optimizations to compositor, avoid indirections when operating array members multiple times 2012-06-03 16:23:47 +00:00
Campbell Barton
07ce209c64 code cleanup: warnings 2012-06-01 14:59:06 +00:00
Sergey Sharybin
c9aa6cf80d Merging r47307 through r47325 from trunk into soc-2011-tomato 2012-06-01 14:08:18 +00:00
Jeroen Bakker
e9093c7011 Fixed crash
Previous patch allocated temporarily buffers.
2012-06-01 10:37:38 +00:00
Monique Dewanchand
285a24b3e0 Replaced tile based memory manager with a single aligned buffer
- should increase speed with large node setups
 - enables caching of buffers in the node editor (in the future)
 - OpenCL part still needs some work
2012-06-01 10:20:24 +00:00
Jeroen Bakker
a78dca27a2 Removed unused files in compositor 2012-06-01 08:01:04 +00:00
Campbell Barton
04854d9048 svn merge ^/trunk/blender -r47272:47306 2012-06-01 05:50:17 +00:00
Campbell Barton
02b927b8c4 style cleanup 2012-05-31 18:40:06 +00:00
Campbell Barton
0ce5dd7e3f svn merge ^/trunk/blender -r47229:47253 2012-05-31 07:57:04 +00:00
Monique Dewanchand
722ce85ff6 Fix for
[#31562] New compositor crashes due to incorrect opencl initialization
2012-05-30 21:09:50 +00:00
Campbell Barton
1b10fdec48 svn merge ^/trunk/blender -r47210:47214 2012-05-30 09:28:37 +00:00
Campbell Barton
27c6ab9857 fix incorrect delete usage in the compositor. 2012-05-30 09:15:02 +00:00
Sergey Sharybin
e95885322d Fix terrible mistake on merging keying patch which originally was against trunk.
This resulted in compositor crashes when using mask node.
2012-05-29 15:30:56 +00:00
Campbell Barton
7d04e4c53e svn merge ^/trunk/blender -r47150:47184 2012-05-29 15:02:21 +00:00
Jeroen Bakker
8a30382a8a * Compositor fix for OpenCL [OpenCL platform installed, but no
available devices]
   - could happen when having laptops with a hard switch between video
cards (intel/NVidia switch)
   - or when an opencl platform was installed on a machine without any
OpenCL compatible GPU
2012-05-29 14:13:08 +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
daa8fe9145 svn merge ^/trunk/blender -r47070:47099 2012-05-28 04:48:42 +00:00
Sergey Sharybin
2a7b4adedc Fix mistmatch in usage of delete vs. delete [] in tiles reported by valgrind profiler. 2012-05-27 14:17:34 +00:00
Sergey Sharybin
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
Campbell Barton
7505102668 style cleanup: also correct comment 2012-05-23 17:26:49 +00:00
Jeroen Bakker
9b45f607c9 cleanup relink code 2012-05-23 12:45:07 +00:00
Jeroen Bakker
564711418d Fix for [#31418] Code review: OpenCL initialization
* Moved OpenCL initialization to first use
 * cleaned up build files
 * display some debug lines only when debugging is enabled.
2012-05-21 19:31:29 +00:00
Jeroen Bakker
081f3dd9fa fix for [#31543] Nodes use array past bounds 2012-05-21 16:05:45 +00:00
Campbell Barton
7862b2fa13 style cleanup: compositor, pointer syntax, function brace placement, line length 2012-05-17 22:55:28 +00:00
Campbell Barton
979f6bab9c style cleanup: braces, compositor 2012-05-17 13:44:15 +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