Commit Graph

476 Commits

Author SHA1 Message Date
Jeroen Bakker
ae9f5239a6 Fix for
* [#32356] Problem with "Ghost" in the "Glare" Node in Compositor
2012-08-21 10:45:01 +00:00
Campbell Barton
988df24551 compositor color curve was MEM_dupallocN'ing the curve for every pixel calculation (when there were black or white inputs on the curve node).
avoid allocation by using local vars for black/white storage & curve calculation.
2012-08-21 08:30:45 +00:00
Campbell Barton
49d3766ceb code cleanup: use math functions for curve compo code. 2012-08-21 08:20:32 +00:00
Campbell Barton
77f47799dd code cleanup: use BLI_RCT_SIZE macro 2012-08-20 23:06:17 +00:00
Campbell Barton
58ab8d5c0a use BLI math length functions for distance compositor operations. 2012-08-19 10:41:16 +00:00
Dalai Felinto
48eb27791b The Distance Node in 2.49/2.5/2.6 pre-tiles has a different calculation for RGB and YCC. While RGB
calculate the distance in 3d between R,G and B, the YCC only takes Cb and Cr
into consideration.

This commit makes COM_DistanceMatteOperation inheritable and expose the calculate distance function
to be re-implemented for the YCC node operation.

Thanks Troy Sobotka for the report over email.
Patch incorporates review suggestions by Jeroen Bakker.
2012-08-19 03:05:38 +00:00
Campbell Barton
9e742ffc2b style cleanup: also correct some doxy comments 2012-08-18 13:07:48 +00:00
Jeroen Bakker
6547b1e770 Documentation of the Bokeh image operation :) 2012-08-17 12:53:04 +00:00
Campbell Barton
e71d3ee394 use filtersize of 1.0 for distort and uv - compositor nodes.
Experimenting here and 0.765625f is too sharp, but 1.0 wont blur with 0 distorted pixels but gives nice interpolation otherwise.
2012-08-16 16:07:00 +00:00
Campbell Barton
6fb4bbdbd9 compositor bokeh blur - only use the variable size operation when the size socket is connected. 2012-08-16 13:15:13 +00:00
Campbell Barton
efa09a2b3d fix memory leak in compositor WorkScheduler::initialize() 2012-08-16 12:47:03 +00:00
Campbell Barton
3bc16fd60d compositor: replace C++ new/delete with guardedalloc. 2012-08-16 12:32:48 +00:00
Campbell Barton
883e9df1cc fix for bug reading past the buffer bounds for the inpaint node. 2012-08-16 12:13:01 +00:00
Campbell Barton
add9aea573 compositor - EWA filter was blurring too much by default, this caused the 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-16 10:13:04 +00:00
Jeroen Bakker
597e6f9bbc Fix for
* [#32323] regression: Dispertion artifacts with smaller chunksizes
 * [#32125] "Projector" Dispersion not working with ChunkSize < 256
2012-08-15 18:14:34 +00:00
Campbell Barton
9591142294 add variable size option to bokeh blur node, remove f_stop option (it wasnt used), and add blur_max to the interface. 2012-08-14 14:31:39 +00:00
Campbell Barton
59fedc6b7c rename blur Reference to Variable Size, improve tooltip 2012-08-14 12:39:12 +00:00
Campbell Barton
53333c78ce use vector for color operation internal storage. 2012-08-14 11:17:06 +00:00
Campbell Barton
9fd6c535ca fix [#32324] regression: node group with missing ID crashes new tile node system.
node groups with no ID now output magenta so it doesnt silently fail.
2012-08-14 11:05:26 +00:00
Campbell Barton
7a3b44cf69 style cleanup 2012-08-13 16:03:48 +00:00
Campbell Barton
39945fedf3 minor edits to r49870 2012-08-13 11:01:27 +00:00
Jeroen Bakker
e28fcec042 Fix for [#32220] regression - DistortionCache is never freed.
* at max 10 cache items will be available. Items will be removed by
latest usage.
 * number of cached items can be adjusted in code
 * added deinitialization of compositor when blender exists.
 * updated scons and cmake build files
2012-08-13 10:56:36 +00:00
Campbell Barton
61eacb534e inpaint node now blend inpaint pixels with existing alpha, this makes soft alpha blends inpaint look nicer.
also dont assign 1.0 alpha for parts of the image not inpaint'ed, this way you can maintain some alpha in the image.
2012-08-12 17:31:42 +00:00
Campbell Barton
b2fdb3f50e avoid divide by zero for the inpaint node. 2012-08-12 17:10:56 +00:00
Campbell Barton
b96c622015 style cleanup 2012-08-11 22:12:32 +00:00
Campbell Barton
823083a744 fix for own error with opencl bokeh blur. 2012-08-11 18:47:09 +00:00
Campbell Barton
ca7c07cda9 add back datatoc, use this instead of cmake script which was too slow. 2012-08-11 16:25:31 +00:00
Campbell Barton
5f341a846b startup.blend and preview.blend are now converted to C at build time.
made some changes to startup.c
- change default player to internal since its working now.
- added new screen for full screen 3d viewport (nice for demo's and navigating)
- disable cursor depth option (was enabled by default because of re-used flag)
2012-08-11 12:26:43 +00:00
Campbell Barton
b84c1dd592 compositor: bokeh blur size input can now be an image, in this case it uses VariableSizeBokehBlurOperation class internally.
updated opencl too.
2012-08-10 15:31:54 +00:00
Campbell Barton
94a3945cf9 code cleanup: compositor - define size for executePixel function output float array 2012-08-10 14:07:24 +00:00
Campbell Barton
e877247789 use define for bokeh blur size, also define size of determineResolution args. 2012-08-10 13:23:31 +00:00
Campbell Barton
4f1b0e473b add asserts in MemoryBuffer.readNoCheck() so it raises an error when used incorrectly in debug mode. 2012-08-10 12:38:53 +00:00
Campbell Barton
3c35f560db minor compositor change: use the max dimension for bokeh blur size, rather then width. 2012-08-10 10:20:28 +00:00
Campbell Barton
7a760b4804 generate COM_OpenCLKernels.cl.h automatically at build time, this allows editing COM_OpenCLKernels.cl and rebuilding and means we dont have to have both files in svn.
updates made to cmake and scons.
2012-08-09 19:59:36 +00:00
Campbell Barton
2f2560eb49 use sensor size when calculating dof rather then hard coded values. 2012-08-09 15:59:32 +00:00
Campbell Barton
5019cd179f add threshold blending to opencl too. 2012-08-08 18:10:13 +00:00
Campbell Barton
a401971cf8 sync changes between opencl and C++ VariableSizeBokehBlurOperation, also remove absf() check on pixel radius, this is ensured to be unsigned. 2012-08-08 18:04:40 +00:00
Campbell Barton
c21bf16c46 dof node; change how threshold is applied, rather then clip out pixels at the threshold, fade instead.
note: need to apply this change to opencl still.
2012-08-08 16:49:12 +00:00
Campbell Barton
2a78c2d304 improvement to the DOF node, after blurring the radius buffer (derived from the depth), overlay with the original so pixels in focus are not mixed with out of focus pixels. 2012-08-08 16:46:12 +00:00
Campbell Barton
a1693168f2 DOF node: clamp blurring the zdepth radius buffer by the blur max. This could doo easily blur very high depths and cause artifacts. 2012-08-08 16:14:56 +00:00
Sergey Sharybin
9ccb8b8c40 Fix crash in cases when render layers node is muted 2012-08-08 08:15:56 +00:00
Campbell Barton
4f4a468128 use bilinear rather then bicubic scaling because bicubic blurs too much. 2012-08-07 15:01:48 +00:00
Campbell Barton
8ae89f4942 speedup to inpaint node in my tests was about ~30% for an optimized build.
also replace MIN/MAX2 with inline functions in transform.
2012-08-07 09:20:30 +00:00
Lukas Toenne
723e52fb85 Tile fix: Use the validity flag in node links directly instead of the indirect node level check for cyclic links to avoid crash in cases of invalid links, which can be created in some situations (reroute nodes). The link flag may have been set by additional constraints. It is much simpler to use and avoids the redundant check. 2012-08-06 19:11:59 +00:00
Campbell Barton
2b8ac9bc61 inpaint node from tomato branch by Peter Schlaile
http://en.wikipedia.org/wiki/Inpainting
2012-08-06 13:45:11 +00:00
Sergey Sharybin
ca382a8d2a Fix for keying screen incorrect memory write when some of tracks are disabled. 2012-08-05 09:31:48 +00:00
Campbell Barton
9ff4fa6671 style cleanup 2012-08-04 12:30:16 +00:00
Campbell Barton
854e122e5d style cleanup: compositor 2012-08-03 10:19:13 +00:00
Campbell Barton
52e31a4866 fix for bokeh blur using uninitialized memory - it would cause some tiles not to be blurred.
was in fact a bug in MemoryBuffer::getMaximumValue
2012-08-03 09:51:10 +00:00
Sergey Sharybin
63d071cc3a Fix #32236: unstable z-buffer or z combine composition node 2012-08-02 10:20:14 +00:00