Commit Graph

334 Commits

Author SHA1 Message Date
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
Sergey Sharybin
3e75da21f6 Code cleanup: remove some more unused includes of DNA_scene_types 2012-08-01 14:51:12 +00:00
Sergey Sharybin
52b4b49059 Code cleanup: Remove unused includes of DNA_scene_types. 2012-08-01 14:48:51 +00:00
Sergey Sharybin
6e208ee887 Replace scene pointer with scene name to prevent possible misusages
of scene in node in future.
2012-08-01 14:48:46 +00:00
Sergey Sharybin
8a1a4a453d Tie compositor will now update render result when changing node setup
Issue was caused by the way how render result was acquiring -- pointer
to render data was used to find needed render descriptor. It's not
reliable since render contains copy of scene's render data, not pointer
to this data.

Use node scene's id name for render result acquiring, the same way
as it was done in old compositor system.
2012-08-01 13:59:08 +00:00
Campbell Barton
e00c7558bd - disable mask drawing in the sequencer, this isn't usable yet and likely wont be working in release.
- use define for max mask mblur samples, increase to 64 max.
2012-08-01 12:59:38 +00:00
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