Commit Graph

7226 Commits

Author SHA1 Message Date
Brecht Van Lommel
7c8f82a174 Cycles: regular rendering now works tiled, and supports save buffers to
save memory during render and cache render results.


Implementation notes:

In the render engine API it's now possible to get the render result for
one render layer only, and retrieve the expected tile size in case save
buffers is used. This is needed because EXR expects tiles with particular
size and coordinates.

The EXR temporary files are now also separated per layer, since Cycles
can't give the full render result for all render layers, and EXR doesn't
support writing parts of tiles.

In Cycles internally the handling of render buffers and multi GPU
rendering in particular changed quite a bit, and could use a bit more
refactoring to make things more consistent and simple.
2012-06-28 10:34:38 +00:00
Sergey Sharybin
53bb66e291 Move color management check stuff from blo_read_file_internal to setup_app_data 2012-06-28 10:05:22 +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
8f53bd019f Merging r48264 through r48276 from trunk into soc-2011-tomato 2012-06-25 16:37:58 +00:00
Sergey Sharybin
1080c43d1c Camera solver: take track offset into account
This helps in cases when it's needed to track a feature which
goes out of screen for a while to prevent jump of camera.
2012-06-25 16:36:12 +00:00
Campbell Barton
17516fee26 svn merge ^/trunk/blender -r48245:48254 2012-06-25 07:41:01 +00:00
Campbell Barton
15cb064e1b style cleanup 2012-06-25 07:24:48 +00:00
Nicholas Bishop
ac9344de75 Fixes for modifier data in multi-user meshes.
When removing a skin or multires modifier, it skips deletion of the
associated CustomData layer if the object has any other modifiers of
that type. This check has been extended to all objects that use the
object's data.

Similarly, deleting higher multires levels and multires subdivision
will not update the maximum level of any other multires modifiers on
objects that link to the same mesh.

Note that modifier_apply_obdata() doesn't need any changes as it
does not allow applying to multi-user data.

Object joining has also been modified to synchronize multires levels
objects that share a mesh. This is needed because joining can
subdivide or delete levels in order to match the maximum level of the
join-from object to the join-to object.

Fixes bug [#31880] instance multiresolution modifier error.
http://projects.blender.org/tracker/index.php?func=detail&aid=31880&group_id=9&atid=498

Reviewed by Sergey:
http://codereview.appspot.com/6332047/
2012-06-24 20:18:32 +00:00
Sergey Sharybin
ca24daea64 Merging r48224 through r48237 from trunk into soc-2011-tomato 2012-06-24 14:27:23 +00:00
Sergey Sharybin
7b3a5ead8c Fix crash sliding disabled marker from preview widget.
Reported by brothermechanic, thanks!
2012-06-24 14:16:40 +00:00
Campbell Barton
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
Sergey Sharybin
06fb9c85d4 Merging r48196 through r48223 from trunk into soc-2011-tomato 2012-06-23 18:08:56 +00:00
Gaia Clary
257283e030 added new function BKE_imbuf_to_image_format 2012-06-22 15:40:49 +00:00
Campbell Barton
23c38bc5e7 svn merge ^/trunk/blender -r48168:48188 2012-06-22 11:56:21 +00:00
Campbell Barton
238d3fa4bb mask re-key feature - mango request. ability to reset selected points shape key data.
useful if you add many keys to one part of a curve, then later want to key another part - but dont want to continuously make the same corrections.
2012-06-22 11:53:49 +00:00
Campbell Barton
226c86ae58 use an inline function for rgb -> bw conversion. 2012-06-22 07:49:44 +00:00
Campbell Barton
86f9f3e439 svn merge ^/trunk/blender -r48153:48158 2012-06-21 12:29:48 +00:00
Campbell Barton
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
Campbell Barton
78b2f5df47 svn merge ^/trunk/blender -r48147:48153 2012-06-21 08:07:49 +00:00
Mitchell Stokes
7ef54879ed Fix for properly converting 2.4x IPO Actuators to 2.6x Action Actuators. Previously the converted Action Actuators would not have an action assigned. This fix is based on code provided by Maxim Aleynikov in his report: [#30410] not full conversion IPO Actuator in Action Actuator. 2012-06-21 06:27:51 +00:00
Campbell Barton
063222e8c9 svn merge ^/trunk/blender -r48133:48140 2012-06-20 21:11:57 +00:00
Campbell Barton
463a4ebf1c fix for segfault loading a file with a proxy that is a missing link. 2012-06-20 21:10:34 +00:00
Campbell Barton
e631cf7062 svn merge ^/trunk/blender -r48119:48129 2012-06-20 17:12:20 +00:00
Campbell Barton
a744fed46c style cleanup 2012-06-20 16:43:48 +00:00
Campbell Barton
fdfc8cb17e svn merge ^/trunk/blender -r48114:48119 2012-06-20 14:15:01 +00:00
Sergey Sharybin
a550b6fe39 Silent masks "alloc new deform spline" debug print 2012-06-20 13:32:30 +00:00
Sergey Sharybin
5896702374 Merging r48110 through r48114 from trunk into soc-2011-tomato 2012-06-20 12:06:48 +00:00
Sergey Sharybin
470ad6fc0e Do not check result of BKE_tracking_marker_get -- it shall always
return valid marker. If not -- let blender crash, because that means
something went really bad and silencing this isn't good idea.

Also made mask parenting to tracking data aware of clip's start frame.
2012-06-20 10:54:56 +00:00
Sergey Sharybin
72e170d67a Implementation of node for track position input 2012-06-19 17:29:58 +00:00
Nicholas Bishop
c9e98e848d Fix for subsurf oscillations along creased boundary edges
Changed the "exterior edge interior shift" section of subsurf calc to
always treat boundary edges the same, regardless of sharpness. We
should revisit subsurf creasing to see if more consistent and
predictable results are possible, but for now this a non-intrusive way
to avoid wavyness along the boundary.

Fixes bug [#31864] Artifacts when using Subsurf+Crease on plane
http://projects.blender.org/tracker/index.php?func=detail&aid=31864&group_id=9&atid=498
2012-06-18 20:50:35 +00:00
Nicholas Bishop
fd36fb8f63 Code cleanup: use float* rather than void* in subsurf calculation
No functional changes.
2012-06-18 20:50:25 +00:00
Sergey Sharybin
c4e386c772 DO not reset clip's focal length when changing path to footage 2012-06-18 18:22:49 +00:00
Sergey Sharybin
4b877e1f8b Some options used for "expert" x264 setup were removed from FFmpeg 0.11
Prevent crashes in cases when option can't be found.
2012-06-18 15:42:23 +00:00
Sergey Sharybin
a42a5c90d5 Fix #31826: UV/Image editor paint image crash
Missed NULL check in own refactoring a while ago.
2012-06-18 14:08:54 +00:00
Sergey Sharybin
0d64e050ea Reduce amount of deprecated symbols used from FFmpeg
This switches some areas of Blender which are related on FFmpeg stuff
from deprecated symbols to currently supported one.

Pretty straightforward changes based on documentation of FFmpeg's
API which symbols should be now used.

This should make Blender compatible with recent FFmpeg 0.11.

Should be no functional changes.
2012-06-18 10:29:11 +00:00
Sergey Sharybin
0723d75abd Now updating of resolution should happen nice when clip's filepath is changing 2012-06-17 16:40:16 +00:00
Campbell Barton
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
Campbell Barton
265262a5d5 feather option for dilate/erode node - needed for alpha masks so we can (blur in/out), currently only positive values supported. 2012-06-16 13:46:20 +00:00
Campbell Barton
250e919b7c style cleanup 2012-06-16 09:18:00 +00:00
Sergey Sharybin
4b8c51d493 Remove unused code and correct comment for track mask AA
Tip: XXX should be used for such kind of crap which is bad for release
     disabled AA for mask is not such a case.
2012-06-15 16:07:23 +00:00
Campbell Barton
4f80c3464f fix for building without libmv 2012-06-15 14:40:01 +00:00
Sergey Sharybin
8da0a03774 2D stabilization didn't work since clip start frame commit 2012-06-15 11:15:48 +00:00
Sergey Sharybin
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
Sergey Sharybin
1f19bacf8e Kaying node from tomato branch
Merge keying node from tomato branch into trunk.

It was considered stable and helpful by Mango team and it'll help
studio pipeline, because nodes would stop disappearing when opening
files in current trunk.

Full information about keying nodes could be found there:
http://wiki.blender.org/index.php/User:Nazg-gul/Keying
2012-06-14 12:19:13 +00:00
Sergey Sharybin
d56e77ada5 Keying Screen node from tomato branch
Merge Keying Screen node developed in tomato branch into trunk.

This node is aimed to make dealing with non-even greenscreens better
by generating gradiented image which could be used a input for keyer
nodes.

Based on building voronoi diagram using motion tracking markers as
sites position and average pattern color as color for that site.

Pretty straignforward node, some documentation is there
http://wiki.blender.org/index.php/User:Nazg-gul/Keying#Screen_color
2012-06-14 12:18:42 +00:00
Campbell Barton
fd212cd4bc image sample line now updates with the compositor changes (mango request) 2012-06-13 22:38:31 +00:00
Peter Larabell
ceffc2cd50 add Anti-Aliasing (very rough draft algorithm, NOT FINAL version) to raskter lib. Code is still quite messy but will be replaced when final algo comes in anyway. 2012-06-13 19:57:23 +00:00
Campbell Barton
c83d37ccc0 mango request
- highlight active mask layers.
- remove keyframes when all layer data is removed.
2012-06-13 08:35:50 +00:00
Campbell Barton
1a625d1416 code cleanup: use const float's where possible and specify vector size. 2012-06-12 23:19:52 +00:00
Campbell Barton
2e8a2f7668 style cleanup 2012-06-12 22:05:33 +00:00