Commit Graph

771 Commits

Author SHA1 Message Date
Campbell Barton 4c02549d5d remove references to raskter from compositor and BKE mask. 2012-07-31 16:04:47 +00:00
Jeroen Bakker e7e7972cd6 Fixed [#32226] Black cadioptric lenses in CPU BokehBlur node 2012-07-31 12:36:08 +00:00
Sergey Sharybin 9c35147666 Fixed own regression introduced in recent compositor commit
MuteNode could be used as a replacement for other nodes when
using fast calculation or when using unknown node from blender.

Should work properly now.
2012-07-30 16:39:39 +00:00
Sergey Sharybin 585bc327e2 Fix incorrect connections for muted nodes in tile compositor
Not tile compositor would use the same routines to detect which
links to add for muted node.
2012-07-30 09:46:14 +00:00
Campbell Barton 7217927414 add inline functions for max/min ints, good to use when the arguments are function calls (we had a few of these). 2012-07-29 18:14:20 +00:00
Campbell Barton c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
Jeroen Bakker 93ff6f6dff Support for depth buffers in compositor and viewer node
Support for only alpha images in compositor and viewer node
2012-07-29 15:06:50 +00:00
Campbell Barton f1acd6ac3e code cleanup: pass mouse position as int[2] rather then wmEvent 2012-07-27 15:15:55 +00:00
Sergey Sharybin 18e874798d Track input node: more control on over output value
Now supports output value of:

- Absolute marker position
- Marker position relative to the very first marker
- Marker position relative to given scene frame
2012-07-27 11:07:12 +00:00
Sergey Sharybin d0b387a0df Track input node: move all initializaiton to initExecution function 2012-07-27 11:07:09 +00:00
Campbell Barton b8d96bc011 mask motion blur shutter option 2012-07-27 10:20:36 +00:00
Campbell Barton b10a35a9a9 motion blur for mask node:
TODO
- add shutter speed option
- add blur option
2012-07-27 09:32:47 +00:00
Sergey Sharybin 85571c339d Fix unworkable track position node 2012-07-26 18:05:05 +00:00
Campbell Barton 733edf8628 option to use manual size input for scene 2012-07-26 13:29:38 +00:00
Jeroen Bakker 8df10a4018 Defocus node.
added some maxblur optimizations. Per tile the max blur is calcualted,
will save some unneeded CPU/GPU loops
GPU: 1:09 => 0:21
CPU: 1:50 => 0:35
2012-07-25 10:46:19 +00:00
Sergey Sharybin d1db16b5d3 Fix corrupted frames producing by fog glare node
Seems to be simple non-initialized buffer used in math, but additional
check would be welcome here.

At least now result doesn't seems to be corrupted and seems to behaving
the same way as non-tile compositor.
2012-07-24 09:00:58 +00:00
Sergey Sharybin 4c22d38f92 Keying: apply garbage / core mattes after clamping
Applying this mattes before clamping produced ugly outline around
matte boundaries.
2012-07-23 18:27:06 +00:00
Campbell Barton dae8e9fbb2 fix for own error using uninitialized memory for scale compo node. 2012-07-22 15:49:20 +00:00
Campbell Barton e646803441 fix for more new[]/delete[] mismatches 2012-07-22 15:31:12 +00:00
Campbell Barton f9ed34cce9 fix for compositor new[]/delete[] mismatch. 2012-07-22 15:15:39 +00:00
Campbell Barton 9b51503307 style cleanup 2012-07-21 22:58:08 +00:00
Campbell Barton 80a24a2ff5 fix for compositor bug, mix node operation clamp was uninitialized.
made HSV node randomly clamp values from 0-1.
2012-07-20 14:01:43 +00:00
Jeroen Bakker 579a4a02a5 Possible fix for [#32141] Crash when using a mask as the factor input
for a color combine (mix) node with render resolution at 100%

Seems to be that the MaskNode has been created as a complex node. But no
complex features were used. Converted the execute pixel to simple
execution. And it sees that the crash does not happen.

Not sure if it is the issue is solved. I am going to let the user retest
with this revision.
2012-07-19 17:28:37 +00:00
Jeroen Bakker a56f4fee38 Fix for
* [#32040] size-input of a blur-node is uniform for the whole picture
 * [#32062] Blur node Size input is not working with 
 * [#32140] Blur Node using a greyscale input as size multiplier fails
to work

Node now has a new option (new compositor cannot detect if the connected
part is a single value, or an image connected).

With this option the use of a reference image to multiply the size of
the blur per pixel can be enabled/disabled.

Regards, 
Jeroen
 - At Mind -
2012-07-19 11:05:18 +00:00
Campbell Barton 250cdd5e52 code cleanup: remove commented includes - mostly from 2.4x 2012-07-18 23:07:07 +00:00
Campbell Barton c8029bffd9 workaround for a bug with zero edges getting removed got feather faces out of sync and crashed 2012-07-18 16:24:13 +00:00
Campbell Barton 32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
Campbell Barton a2e2489f61 correct own naming error BLI -> BKE 2012-07-16 08:53:11 +00:00
Campbell Barton 4cacff2342 fix for linking with scons. 2012-07-16 08:42:55 +00:00
Campbell Barton 7cc5af4ef3 minor refactor for rect functions. more consistent naming. 2012-07-15 00:29:56 +00:00
Sergey Sharybin 807ad1f0e0 Fix #32087: Crash while changing values in comp editor (bt and blender included)
Issue was caused by threading conflict between compositor output node which
is freeing buffers used by render result image and image draw code which
could use buffers at the same time as compositor frees this buffers.

Solved by adding adding  lock around viewer image invalidation and image
drawing.

Use renamed LOCK_PREVIEW mutex for this, which si not called LOCK_DRAW_IMAGE.
With new compositor locking for preview is not needed so it could be removed.

Added the same lock around viewer operation which also frees buffers used
by viewer image. It's actually quite difficult to check whether this is
indeed needed. This code seems to be using acquire/release technique, but
somehow acquiring ImBuf before invalidating it in compositor operation
doesn't resolve the issue, so probably it's not actually locking acquire
and things should be checked deeper.
2012-07-13 13:47:13 +00:00
Campbell Barton a5e6d73d41 fix for crash with new rasterizer 2012-07-13 12:55:30 +00:00
Jeroen Bakker 6eacb5791d Inner loop optimization of blur node 2012-07-13 12:50:10 +00:00
Jeroen Bakker 9987a8fca7 Removed parameter from executePixel and initializeTileData. 2012-07-13 12:24:42 +00:00
Dalai Felinto 6ee2e0b145 bugfix: [#32073] Displace node different result between Low and high quality 2012-07-13 06:07:28 +00:00
Campbell Barton 8ce53a2a98 new mask rasterizer written to take advantage of the compositors threading, mostly functional but disabled by default (still a little wip). 2012-07-12 20:10:41 +00:00
Jeroen Bakker 8809f23c8d Missed H file 2012-07-12 19:48:16 +00:00
Jeroen Bakker 8b8bc164da Small optimizations in compositor.
Most of them are not noticeable.
2012-07-12 19:19:03 +00:00
Campbell Barton 993dfd7d2a add bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmax 2012-07-12 08:31:23 +00:00
Jeroen Bakker 4fb850c72e Compositor:
re-optimized the Defocus node.
 * localized MemoryBuffers
 * removed read(x,y) calls
 * shuffled some lines in the execute pixel
 * added a readNoCheck function to the memorybuffer (only use this when
you are certain you are reading a pixel inside the memorybuffer.
2012-07-11 20:51:00 +00:00
Jeroen Bakker b63b8ea69d Compositor:
Added OpenCL kernel for the directional blur.

This operation always uses the full input image. In the current
implementation this input image is not cached on the device.

Future enhancement could be to cache it on the available opencl devices
2012-07-11 19:32:32 +00:00
Sergey Sharybin 5aa2670d4a Fix mistmatched new[] and dlete used in node highlightion 2012-07-11 18:46:27 +00:00
Jeroen Bakker c25240ad54 Compositor read buffers work directly on the memory buffer.
This way we can remove the memoryBuffers parameter in the executePixels,
and (de)initializeTileData methods
2012-07-11 10:45:56 +00:00
Sergey Sharybin 4e213765ec Fixes for keying screen:
- Fixed issue with black areas appearing when too many sites
  are defined.

  Currently tweak epsilon value for this, but probably actual
  issue is somewhere else, can't see it yet.

- Fixed issue with bright pixels appearing in the sites, was
  caused by accumulating color for pixels, which isn't needed.

  Once color for pixel was set stop iterating via triangles.
  Could give some speedup too.

- Ignore markers which are outside of frame bounds, they were
  giving bad triangulation and they can't affect on gradient
  due to color fir such sites is not known.

- Sites used to be created at position without track offset
  taken into account.
2012-07-11 07:46:36 +00:00
Monique Dewanchand 315698543b Fix for issue [#31981] for tiles opencl:
initialize radius with correct value
2012-07-10 20:46:42 +00:00
Monique Dewanchand e8e8ceaea2 fix for Tiles bug - opencl:
[#31981] Bokeh Blur Node - Size input socket does not accept input from Value Input node, Values smaller than 0.1 will produce black output
2012-07-10 20:33:24 +00:00
Monique Dewanchand 8a4584d04d Fix for tiles bug:
[#31981] Bokeh Blur Node - Size input socket does not accept input from Value Input node, Values smaller than 0.1 will produce black output
2012-07-10 20:21:13 +00:00
Sergey Sharybin ba8154e24a Keying screen: small fixes and improvements from tomato
- Fixed issues with calculating matte with balance != 0.5
  It used to be used concave combination of minimal and maximal
  channel values which could be inpredictable.
  Use concave combination of two non-major channels sorted
  by their index, so such combination would always use the same
  coefficients for particular non-major channels.

- Added despill balance slider which defines balance between
  non-major channels used for calculating average of two
  colors. Difference between average value and pixel value of
  major screen channel defines amount of despill. Balance of
  0.5 gives the same behavior as it was before this slider
  was added.

---
svn merge -r48678:48679 -r48789:48790 ^/branches/soc-2011-tomato
2012-07-10 14:53:36 +00:00
Sergey Sharybin a41dc719bf Movie Clip Node: skip putting frame to cache when rendering animation
This helps keeping memory usage low and have cached segments untouched
when mixing stuff like tracking and rendering -- now you wouldn't be
need to re-cache segment you're working on after rendering.

---
svn merge -r48550:48552 ^/branches/soc-2011-tomato
2012-07-10 14:42:37 +00:00
Sergey Sharybin 2de2b7eba8 Synchronize style cleanup changes made in tomato branch 2012-07-10 13:41:21 +00:00