Commit Graph

729 Commits

Author SHA1 Message Date
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
a2e2489f61 correct own naming error BLI -> BKE 2012-07-16 08:53:11 +00:00
7cc5af4ef3 minor refactor for rect functions. more consistent naming. 2012-07-15 00:29:56 +00:00
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
a5e6d73d41 fix for crash with new rasterizer 2012-07-13 12:55:30 +00:00
6eacb5791d Inner loop optimization of blur node 2012-07-13 12:50:10 +00:00
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
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
8809f23c8d Missed H file 2012-07-12 19:48:16 +00:00
8b8bc164da Small optimizations in compositor.
Most of them are not noticeable.
2012-07-12 19:19:03 +00:00
993dfd7d2a add bli rect funcs BLI_rctf_init_minmax, BLI_rcti_init_minmax 2012-07-12 08:31:23 +00:00
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
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
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
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
315698543b Fix for issue [#31981] for tiles opencl:
initialize radius with correct value
2012-07-10 20:46:42 +00:00
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
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
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
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
5cc0e5f751 Mango request: added an input node to use track's position in compositor
--
svn merge -r48088:48089 -r48091:48092 ^/branches/soc-2011-tomato
2012-07-10 11:01:25 +00:00
5b57f38fb5 Mango request: option to clamp result of Mix RGB and Color Math nodes
---
Merging r48792 from soc-2011-tomato into trunk
2012-07-10 10:36:18 +00:00
717ac64cb1 Tomato: added option to clamp result of Mix RGB and Color Math nodes 2012-07-10 09:12:33 +00:00
492d9aabe0 some code refactors in raskter.c to sync it with build where mask tiling is being developed. Also adds a bit more mask tiling code. 2012-07-10 04:51:08 +00:00
bfe776cd1d removed depth aware defocus
add blur to radius buffer
2012-07-09 15:21:43 +00:00
1bca7fe492 svn merge ^/trunk/blender -r48691:48729 2012-07-08 15:55:58 +00:00
45aeee6a34 Multi device OpenCL did not work.
case was that cached kernels were used by both devices in separate
threads.

removed the cached kernels.
2012-07-08 13:03:09 +00:00
ec233cd747 svn merge ^/trunk/blender -r48674:48681 2012-07-06 14:25:49 +00:00
d1c335ad79 Tomato keying screen: small fixes and improvements
- 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.
2012-07-06 12:59:00 +00:00
28f7bfa8df * Added OpenCL implementation of the Defocus node
* Always disable two phase compositing during rendering

 - At Mind -
2012-07-06 11:31:40 +00:00
3c367f924a svn merge ^/trunk/blender -r48604:48638 2012-07-05 11:40:48 +00:00
e5e1d7bc9f Added a default margin to the tile dependancy of the lens distortion
node.
2012-07-05 09:39:06 +00:00
5e0f7467e9 Adjusted margin of the lens distortion 2012-07-05 08:33:17 +00:00
4e836ab476 Moved highlight code to the workscheduler. 2012-07-05 06:34:31 +00:00
9f22750422 style cleanup 2012-07-04 20:47:12 +00:00
48d0d32f73 svn merge ^/trunk/blender -r48585:48604 2012-07-04 17:55:30 +00:00
558721ab59 More spell checking. 2012-07-04 15:04:38 +00:00
7cde835c2e relay the original node to a different place holder to resolve some
crashes.
2012-07-04 12:30:17 +00:00
4d2a6a8e21 Spellfixes: colour -> color 2012-07-04 12:19:50 +00:00
fbc24a61c4 svn merge ^/trunk/blender -r48576:48585 2012-07-04 11:53:48 +00:00
778999cbbf Two pass execution:
1. first pass only fast nodes are calculated and only to the active
viewer node
2. second pass all nodes to all outputs

Temp disabled highlights because of random crashes.
2012-07-04 11:39:28 +00:00
33e12a2983 Highlight nodes that are being processed 2012-07-04 10:01:45 +00:00
17d7a9c3d9 Merging r48545 through r48574 from trunk into soc-2011-tomato 2012-07-04 07:33:34 +00:00
facc2429ab Mask node: create a copy of layers to be rasterized in initExecution
This creates a list of splines to be rasterized in nitExecution which
is being called from main thread. This should resolve possible threading
issues discovered in tomato branch.
2012-07-04 07:10:23 +00:00
9ac9040cfd Tomato: skip cache for Movieclip input node only when rendering 2012-07-03 16:23:15 +00:00
f56f492c5a Tomato experimental option: disable cacheing for movie clip node 2012-07-03 16:18:39 +00:00
259e78997a svn merge ^/trunk/blender -r48489:48527 2012-07-03 11:03:39 +00:00
2f5735a9d4 Optimized the area of interest of the lensdistortion node.
This will have faster feedback to the user, as lensdistortion is mostly
a node that is located at the end of a composite
2012-07-03 09:05:19 +00:00
ea5e0d0212 Limit out of screen tiles to be scheduled. 2012-07-02 15:26:47 +00:00