Commit Graph

7 Commits

Author SHA1 Message Date
35d3b6316b D627: Memory usage optimization for the compositor.
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.
2015-01-19 18:17:50 +01:00
03929ae202 Fix T40878: Translate node is inconsistent 2014-06-30 18:22:27 +06:00
bdbb4229b5 Compositor: Get rid of hardcoded constants 2014-06-30 18:09:40 +06:00
c566e408e4 Cleanup: Renamed compositor executePixel functions and their 'read' wrappers 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-11-19 11:06:16 +01:00
Lukas Toenne
8d2e79aaab Fix #36113, Translate's wrapping has 1 pixel gap in X and Y after scale node.
The issue with wrapping is that it requires correct interpolation of the border pixels. Since interpolation is done at the far left end of the node tree in buffer/image/etc read operations, the wrapping
setting can not be used directly in those operations (otherwise in-line translate operations would cause conflicts). To make wrapping work correctly we need to add a buffer in front of the translate
operation, which can then be interpolated correctly based on wrapping. The WrapOperation becomes a variant of ReadBufferOperation, which uses its wrapping setting to determine the correct "extend" mode
for interpolation of the buffer.
2013-09-05 10:45:21 +00:00
c9e56955cf Fix deadlock in coordinate wrapping operation with zero dimension 2013-07-03 15:33:14 +00:00
23bf087338 Code clean up translate node
added constants.
moved the code to a separate class. so it can be reused for other nodes
2013-02-06 08:40:12 +00:00