Age | Commit message (Collapse) | Author | |
---|---|---|---|
2016-02-14 | Compositor: Cleanup, don't shortcut float values | Sergey Sharybin | |
Use 0.0f instead of 0.f and so on. | |||
2015-08-27 | Fix T45617: Map UV node produces image artifacts | Sergey Sharybin | |
Basically filtering was happening twice, first time by applying weights of EWA filter itself and then by applying subpixel offset while reading pixel values. | |||
2015-03-27 | Compositor: Code cleanup, prepare for strict C++ flags | Sergey Sharybin | |
2015-01-19 | D627: Memory usage optimization for the compositor. | Jeroen Bakker | |
The compostor used a fixed size of 4 floats to hold pixel data. this patch will select size of a pixel based on its type. It uses 1 float for Value, 3 float for vector and 4 floats for color data types. When benchmarking on shots (opening shot of caminandes) we get a reduction of memory of 30% and a tiny speedup as less data transformations needs to take place (but these are negligable. More information of the patch can be found on https://developer.blender.org/D627 and http://wiki.blender.org/index.php/Dev:Ref/Proposals/Compositor2014_p1.1_TD Developers: jbakker & mdewanchand Thanks for Sergey for his indept review. | |||
2014-09-23 | Fix T41921: MapUV node alpha setting broken. | Lukas Tönne | |
The UV values includes the image width/height now. To restore the previous method as close as possible (even though it is not documented anywhere how this is supposed to work), we have to ignore this scaling. | |||
2014-03-15 | Fix T39189: Node editor Map Uv requires an scale node to work. | Lukas Tönne | |
This is a regression caused by rB67134a7bf689279785e2e40b29cd24243813998b The UV coordinates read from the UV input must be scaled by the Image input size instead of the UV input size. Also now this node uses the UV input resolution instead of the Image resolution, since this is what determines the available resolution. The image is EWA-sampled anyway, it's resolution does not have a direct impact. | |||
2013-12-04 | Fix for EWA (elliptical weighted average) sampling in the compositor. | Lukas Tönne | |
EWA sampling is designed for downsampling images, i.e. scaling down the size of input image pixels, which happens regularly in compositing. While the standard sampling methods (linear, cubic) work reasonably well for linear transformations, they don't yield good results in non-linear cases like perspective projection or arbitrary displacement. EWA sampling is comparable to mipmapping, but avoids problems with discontinuities. To work correctly the EWA algorithm needs partial derivatives of the mapping functions which convert output pixel coordinates back into the input image space (2x2 Jacobian matrix). With these derivatives the EWA algorithm projects ellipses into the input space and accumulates colors over their area. This calculation was not done correctly in the compositor, only the derivatives du/dx and dv/dy were calculation, basically this means it only worked for non-rotated input images. The patch introduces full derivative calculations du/dx, du/dy, dv/dx, dv/dy for the 3 nodes which use EWA sampling currently: PlaneTrackWarp, MapUV and Displace. In addition the calculation of ellipsis area and axis-aligned bounding boxes has been fixed. For the MapUV and Displace nodes the derivatives have to be estimated by evaluating the UV/displacement inputs with 1-pixel offsets, which can still have problems on discontinuities and sub-pixel variations. These potential problems can only be alleviated by more radical design changes in the compositor functions, which are out of scope for now. Basically the values passed to the UV/Displacement inputs would need to be associated with their 1st order derivatives, which requires a general approach to derivatives in all nodes. | |||
2013-11-19 | Cleanup: Renamed compositor executePixel functions and their 'read' wrappers ↵ | Lukas Tönne | |
in SocketReader. Distinguish the 3 different methods for acquiring pixel color values (executePixel, executePixelSampled, executePixelFiltered). This makes it easier to keep track of the different sampling methods (and works nicer with IDEs that do code parsing). Differential Revision: http://developer.blender.org/D7 | |||
2013-08-16 | Remove ifdef-ed code, it's still in SVn anyway. | Sergey Sharybin | |
2013-08-16 | Tweaks to MapUV and PlaneTrack nodes to make results less doggy | Sergey Sharybin | |
This disables crazy adaptive sampling happening in diagonal direction. This still gives some doggyness, but it's much less dramatic now, and behavior is pretty damn the same as EWA filtering when rendering textures with Blender Internal. | |||
2012-10-02 | * fix for regression test [compo_map_uv.blend] | Jeroen Bakker | |
the wrapping was resized to fit the uv map. this step was wrong and has been deleted. | |||
2012-08-16 | compositor - EWA filter was blurring too much by default, this caused the ↵ | Campbell Barton | |
displace node to blur the image when no displacement was applied, making images fuzzy, the original C code has an interpolation option. Added this option back and use for displace and UV composite nodes. | |||
2012-08-10 | code cleanup: compositor - define size for executePixel function output ↵ | Campbell Barton | |
float array | |||
2012-07-13 | Removed parameter from executePixel and initializeTileData. | Jeroen Bakker | |
2012-06-26 | use m_ prefix for compositor class members (all compositor operations). | Campbell Barton | |
2012-06-15 | style cleanup: compositor operations | Campbell Barton | |
2012-06-09 | code cleanup: reduce float/double promotion | Campbell Barton | |
2012-05-18 | style cleanup: compositor, pointer syntax, function brace placement, line length | Campbell Barton | |
2012-05-17 | style cleanup: braces, compositor | Campbell Barton | |
2012-05-17 | ____ | Jeroen Bakker | |
`````|````` | | | ..'''' | | | |______ .'' | | | | ..' | | |_______ |___________ ....'' 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 ) |