Commit Graph

359 Commits

Author SHA1 Message Date
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
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
Sergey Sharybin
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
Sergey Sharybin
717ac64cb1 Tomato: added option to clamp result of Mix RGB and Color Math nodes 2012-07-10 09:12:33 +00:00
Peter Larabell
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
Jeroen Bakker
bfe776cd1d removed depth aware defocus
add blur to radius buffer
2012-07-09 15:21:43 +00:00
Campbell Barton
1bca7fe492 svn merge ^/trunk/blender -r48691:48729 2012-07-08 15:55:58 +00:00
Jeroen Bakker
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
Campbell Barton
ec233cd747 svn merge ^/trunk/blender -r48674:48681 2012-07-06 14:25:49 +00:00
Sergey Sharybin
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
Jeroen Bakker
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
Campbell Barton
3c367f924a svn merge ^/trunk/blender -r48604:48638 2012-07-05 11:40:48 +00:00
Jeroen Bakker
e5e1d7bc9f Added a default margin to the tile dependancy of the lens distortion
node.
2012-07-05 09:39:06 +00:00
Jeroen Bakker
5e0f7467e9 Adjusted margin of the lens distortion 2012-07-05 08:33:17 +00:00
Jeroen Bakker
4e836ab476 Moved highlight code to the workscheduler. 2012-07-05 06:34:31 +00:00
Campbell Barton
9f22750422 style cleanup 2012-07-04 20:47:12 +00:00
Campbell Barton
48d0d32f73 svn merge ^/trunk/blender -r48585:48604 2012-07-04 17:55:30 +00:00
Bastien Montagne
558721ab59 More spell checking. 2012-07-04 15:04:38 +00:00
Jeroen Bakker
7cde835c2e relay the original node to a different place holder to resolve some
crashes.
2012-07-04 12:30:17 +00:00
Bastien Montagne
4d2a6a8e21 Spellfixes: colour -> color 2012-07-04 12:19:50 +00:00
Campbell Barton
fbc24a61c4 svn merge ^/trunk/blender -r48576:48585 2012-07-04 11:53:48 +00:00
Jeroen Bakker
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
Jeroen Bakker
33e12a2983 Highlight nodes that are being processed 2012-07-04 10:01:45 +00:00
Sergey Sharybin
17d7a9c3d9 Merging r48545 through r48574 from trunk into soc-2011-tomato 2012-07-04 07:33:34 +00:00
Sergey Sharybin
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
Sergey Sharybin
9ac9040cfd Tomato: skip cache for Movieclip input node only when rendering 2012-07-03 16:23:15 +00:00
Sergey Sharybin
f56f492c5a Tomato experimental option: disable cacheing for movie clip node 2012-07-03 16:18:39 +00:00
Campbell Barton
259e78997a svn merge ^/trunk/blender -r48489:48527 2012-07-03 11:03:39 +00:00
Jeroen Bakker
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
Jeroen Bakker
ea5e0d0212 Limit out of screen tiles to be scheduled. 2012-07-02 15:26:47 +00:00
Campbell Barton
5a803b7edf svn merge ^/trunk/blender -r48415:48469 2012-07-01 15:39:02 +00:00
Sergey Sharybin
148fdb3a7a Color management: fixed crash when freeing context for inactive viewer node 2012-07-01 14:54:05 +00:00
Campbell Barton
8b865c01cd style cleanup: comments 2012-06-30 22:49:33 +00:00
Sergey Sharybin
d0f67e498e Color management fixes and improvements
- Made color management cache safe for situations when one area
  requested a display buffer, then some changes were done which
  invalidated cache, other area requested display buffer which
  changed cached buffer.

  Suck case could be fatal for first used of display buffer,
  which didn't happen yet because cache is being accessed from
  main thread only, but better to keep this things completely
  thread save to avoid headache in the future.

- Baked RRT transformations, which gives ~3-4 times boost
  hopefully without visible artifacts.

- Added support of partial updates to display buffers.

  This would create special context which hols display buffer
  which imbuf had to the time of creating this context and
  later this context would allow to run a color correction
  from given linear buffer within given region.

  This is being used by compositor to enable more realtime
  display update when compositing.

- Added support of color management backdrop for nodes editor.

  There's now special menu called display properties in N-panel
  of nodes editor.

  Probably this better be de-duplicated somehow, but not sure
  yet how. Currently it's not so harmful to have panel for two
  spaces which contains only 2 properties.

  There's currently one unsolved issue with backdrop:
  it's not being updated progressively when just loading the
  file -- it's simply because there's no color managed display
  buffer for backdrop yet, and compositor doesn't actually
  know which color space to use here to generate preview to.
2012-06-30 12:36:03 +00:00
Campbell Barton
5a8b3dc1f9 add NULL check for ibuf, was crashing while rendering randomly 2012-06-28 17:26:21 +00:00
Campbell Barton
420150f752 svn merge ^/trunk/blender -r48370:48375 2012-06-28 14:19:53 +00:00
Campbell Barton
c8c743b609 code cleanup: compile with clang and quiet some warnings. 2012-06-28 12:32:06 +00:00
Campbell Barton
6b345811b7 svn merge ^/trunk/blender -r48333:48370 2012-06-28 11:20:19 +00:00
Campbell Barton
32478997ec style cleanup 2012-06-27 18:29:47 +00:00
Sergey Sharybin
8f8d7f586a Clean-up and refactor of current OCIO integration
- Cleaned up some files -- seems there were some wrongly resolved
  conflicts which resulted into duplicated code in space_image.py
  and some build configuration files.
- Store all color space related data (such as display device, view
  transform and so) as strings, so it could easily be ported to new
  OCIO configuration files and it'll be much more portable between
  different configurations.

  This required adding some look-ups to RNA associated with such
  settings, but it's indeed the only way to do this. If it'll be
  figured out such look-ups causes performance issues it's possible
  to optimize this further using hash. So far it's only few elements
  in list to be looked up.
- Added support of display device transformation from OCIO
  configuration files. Display device is setting per-window and
  different windows could have different display devices, so it's
  possible to have one blender window opened on sRGB monitor and
  another one on xyz projector.

  Display device is ignored when using ACES ODT Tonecurve view
  transform due to it's not an OCIO transformation. Probably it'll
  be possible to get rid of this tone curve soon (if it'll be
  proved useless or it'll be implemented as a part of OCIO LUT).
- Movie Cache now supports deleter functions for user keys, so
  such keys could have some allocated data which would be removed
  as soon as element in cache is being removed.
- Movie Cache now support callbacks to check whether current
  cache element could be removed from a cache due to it wouldn't
  be accessed anymore.
- Re-written cache stuff for display buffers of ImBuf. Now it's
  using Movie Cache which is global for all ImBufs.

  Probably it's not implemented in fastest way, would be investigated
  further and probably changed it performance wouldn't be good enough.
2012-06-27 18:10:53 +00:00
Sergey Sharybin
c837fcbb4b Merging r48308 through r48313 from trunk into soc-2011-tomato 2012-06-26 15:29:22 +00:00
Sergey Sharybin
de00723049 Fix for crash of keying screen node in cases when there's no
triangulation generated for tracks setup
2012-06-26 15:26:16 +00:00
Campbell Barton
c55c194a07 svn merge ^/trunk/blender -r48305:48307 2012-06-26 10:17:11 +00:00
Campbell Barton
79ab7f95f9 mask and grease pencil now display in the dope sheet summery 2012-06-26 10:14:50 +00:00
Sergey Sharybin
58e5ce42db Merging r48303 through r48305 from trunk into soc-2011-tomato 2012-06-26 09:48:24 +00:00
Sergey Sharybin
cd6ed0bee5 Optimization of keying screen node
When creating tile data include only triangles which have got intersection
with tile's rectangle only. This saves quite a lot of per-pixel iterations
through triangles which simply can not affect on current tile.

In fact, it's AABB check is used here. It could be improved further, but
it'll slowdown tile data generation with questionable speedup.

Another major slowdown is in fact caused by voronoi triangulation code.
Currently it's used naive algorithm which is O(N^2) where N is number
of edges. Added few euristics there and removed unused part of code, which
gave quite noticeable speedup already.

This could be improved further, but this node is not ment to be used for
lots of markers. It's also generates wrong triangulation when there're
many sites used. Need to be investigated further.
2012-06-26 09:46:24 +00:00
Campbell Barton
6a58afaaa4 svn merge ^/trunk/blender -r48288:48302 2012-06-26 07:44:59 +00:00
Campbell Barton
d4cfdc69ef quiet all -Wshadow warnings in the compositor. 2012-06-26 07:32:24 +00:00
Campbell Barton
6a1d82490e use m_ prefix for compositor class members (all compositor operations). 2012-06-26 01:22:05 +00:00
Campbell Barton
57a57c4e39 svn merge ^/trunk/blender -r48276:48283 2012-06-25 18:03:19 +00:00