Commit Graph

687 Commits

Author SHA1 Message Date
2f2560eb49 use sensor size when calculating dof rather then hard coded values. 2012-08-09 15:59:32 +00:00
Lukas Toenne
9a36b51cc7 Fix for the default internal connect function for nodes (used in muting, detaching, etc.). This is supposed to look for the first input/output of every socket type, but was actually taking the first matching link from the link list, regardless of the linked socket's position. 2012-08-09 11:45:54 +00:00
f0951f58ca code cleanup: rename G.afbreek --> is_break, G.rendering --> is_rendering 2012-08-08 18:37:06 +00:00
0b5a995cfd code cleanup: rename G.rt to G.debug_value 2012-08-08 18:21:54 +00:00
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
Lukas Toenne
f961afece0 Fix for incomplete Reroute node updates. Adding reroute nodes by spliting links would often result in unrelated color sockets or otherwise miss updates.
The reason is that the per-node updates used for Reroute node type inheritance are not supposed to be looking at connected nodes, they are purely for "local" updates. For this sort of "global" update which requires depth-first search, the update function on the node tree level must be used instead.
2012-08-06 18:49:28 +00:00
Lukas Toenne
e276a7c805 Fix for Reroute nodes: Reloading could change socket types without updating the socket data structs, leading to crash. This is caused by the node verification procedure, which resets any socket type to the initial type defined in the socket templates. Adding sockets dynamically without templates solves this (the sockets are then ignored by verification). 2012-08-06 16:25:38 +00:00
2b8ac9bc61 inpaint node from tomato branch by Peter Schlaile
http://en.wikipedia.org/wiki/Inpainting
2012-08-06 13:45:11 +00:00
4c02549d5d remove references to raskter from compositor and BKE mask. 2012-07-31 16:04:47 +00:00
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
c41e1e434a code cleanup: replace MIN2/MAX2 with minf/maxf 2012-07-29 16:59:51 +00:00
b8d96bc011 mask motion blur shutter option 2012-07-27 10:20:36 +00:00
Lukas Toenne
fec872ef9c Added a particle index output to the Particle Info Cycles node. This is required to get consistent ID numbers for particles. The Object ID is not usable since it's a user defined value of the instanced object, which does not vary per instance. Also the random value from the object info node is not consistent over time, since it only depends on the index in the dupli list (so each emitted or dying particle shifts the value).
The particle index is always the same for a specific particle. Randomized values can be generated from this with the use of a noise texture.
2012-07-26 11:40:58 +00:00
Lukas Toenne
237b8e496a Fix #32178, Adding "File Output" node crashes when a video output type is selected.
The image format for the node and sockets were not properly initialized. The file output node only supports image types (not movies), so it needs to check for proper format type after copying from the render settings.
2012-07-25 10:25:53 +00:00
62a73381a7 use fabsf when using floats. 2012-07-21 15:27:40 +00:00
32cf7fcdb1 code cleanup: spelling 2012-07-16 23:23:33 +00:00
4cacff2342 fix for linking with scons. 2012-07-16 08:42:55 +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
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
dc65a26bf6 refactor node highlight code. New implementation will not write to
uninitialized memory. it happened when you delete a node that was being
executed. in the compostor
2012-07-10 12:23:49 +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
9f22750422 style cleanup 2012-07-04 20:47:12 +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
33e12a2983 Highlight nodes that are being processed 2012-07-04 10:01:45 +00:00
468ef74ed7 More spell and typo fixes (mostly visualise->visualize, grey->gray, normalise->normalize). 2012-07-03 19:09:07 +00:00
8b865c01cd style cleanup: comments 2012-06-30 22:49:33 +00:00
273f56ace0 Scons:
* WITH_BF_COMPOSITOR option, to disable tile compositor compilation.
* Removed unused SCons file.
2012-06-30 22:44:36 +00:00
90dc1d1353 the compositor optional for cmake: WITH_COMPOSITOR 2012-06-30 14:14:22 +00:00
226c86ae58 use an inline function for rgb -> bw conversion. 2012-06-22 07:49:44 +00:00
7a8d60ec7d * make it possible to composite without an compositor node [#31878]
Tiles Compositor: Fails without 'Compositor' output node. Regression.
2012-06-21 17:58:12 +00:00
a803ce42df negate previous commit flag, this way existing files dont loose their feather. 2012-06-21 12:45:53 +00:00
54156e2b82 option to disable feather, since its so slow - for interactively editing masks its useful to be able to disable.
also rename RNA to 'use_antialiasing'
2012-06-21 12:27:57 +00:00
fae0b2068b falloff options for dilate/erode feather compo node. 2012-06-21 07:45:41 +00:00
586f202eac minor speedup for the glare compositor node
- pre calculate the UV dot product
- use image width and height converted to floats in the inner loop.
2012-06-20 08:11:59 +00:00
72e170d67a Implementation of node for track position input 2012-06-19 17:29:58 +00:00
f5f25b81e8 style cleanup:
also fix for building ghost test and fix double free in one of the tests
2012-06-17 09:58:26 +00:00
2f29f8d186 speedup for fast gauss blue (approx 10% - 15%)
- get the image width and height once rather then calculating on every access (was doing min/max subtract).
- use unsigned int's - faster for looping.
2012-06-16 09:52:38 +00:00
927fc897cf minor optimizations for dilate 2012-06-15 15:55:37 +00:00
2ca89f7add style cleanup 2012-06-15 15:04:56 +00:00
f04546018f style cleanup 2012-06-15 14:45:49 +00:00
82473f67b3 Core matte input for keying node
This matte could be used to force alpha be at high values in areas where
algorithm detects it as edge or background color.
2012-06-15 11:53:51 +00:00
8da0a03774 2D stabilization didn't work since clip start frame commit 2012-06-15 11:15:48 +00:00
f0c724219d Internal refactoring of tracking module, should be no functional changes
- Re-arrange functions in headers and implementation file to make them
  more grouped by entity they're operating with. Also order of functions
  in implementation file should match order of functions in header for
  easier navigation.

- Rename some functions to match conventions of naming public functions.
- Some code de-duplication, still some room for improvements tho.
- Split main 2D tracking functions into smaller steps to make it more clear.

Accidentally OpenMP was disabled in some of previous commits, re-enable it.
2012-06-15 11:03:23 +00:00
ec755bdfa7 style cleanup: composite/blur 2012-06-15 09:58:52 +00:00
c9f1477fb0 Garbage mate input for keying node
This adds garbage matte input to new keying node which is used to
force occluding things which can not be eliminated by color operations.

White areas defines areas which should be removed from final result.
2012-06-15 08:26:49 +00:00
9c55e7b995 add node scale offset for old compositor too - also fix for error in last commit. 2012-06-15 08:01:41 +00:00
813348a4ee code cleanup: replace most fRGB functions with inline vector functions 2012-06-14 19:22:55 +00:00
c42d4b101b remove unused fRGB defines and change float member to bool. 2012-06-14 19:09:00 +00:00
ffc9e340b1 new scaling options to scale footage without stretching - add stretch/fit/crop to compositor scale node, default behavior isnt changed.
this is only added for the old compositor, will add to the new compositor next.
2012-06-14 16:55:55 +00:00