Commit Graph

10681 Commits

Author SHA1 Message Date
Sergey Sharybin b57a5521c4 Color management refactoiring and some extra options
- Move space-being settings (such as view transform) into own
  DNA and RNA structure to avoid code duplication in some areas
  and save some arguments on display buffer acquiring function.

  Also added some utility functions to BKE to manipulate this
  settings.

- Replace static sized color managed buffer flags array with
  dynamically sized array which matches actual number of displays.

  Probably this flags better be transfposed so it'll support
  any number of view transforms and 32 displays (currently it's
  other way around). it's runtime flags only, so would be simple
  to change any time.

- Added support of configurable exposure and gamma.

  Changing this settings wouldn't generate new item in cache,
  it'll affect on buffer with the same color spaces conversion.

  It'll also run full color transform from scratch on every run,
  this could be changes in a way that it'll re-use color managed
  buffer, but from quick glance it doesn't give really noticeable
  boost.

  Currently this settings are stored as pointer in ImBuf structure
  itself. Probably it make sense removing them from ImBuf and make
  moviecache be able to store some kind of tags associated with
  cached ImBuf.
2012-06-30 12:37:16 +00:00
Campbell Barton e6469eb178 svn merge ^/trunk/blender -r48378:48406 2012-06-29 13:11:44 +00:00
Miika Hamalainen 6ddc574d9d Fix #31953: Forcefield Texture using image file, gradient mode not working 2012-06-29 11:44:46 +00:00
Miika Hamalainen 3ad9e0f3ec Fix #31948: dynamic paint substeps do not work for objects parented to armatures 2012-06-29 11:19:29 +00:00
Campbell Barton 5d9f3c5d18 fix for crash scaling an image 2012-06-29 10:52:37 +00:00
Campbell Barton 1a2852cf1c svn merge ^/trunk/blender -r48375:48378 2012-06-28 15:41:44 +00:00
Campbell Barton bee0f76f26 fix for crash in python getting the image size for a sequence. 2012-06-28 15:34:21 +00:00
Campbell Barton 6b345811b7 svn merge ^/trunk/blender -r48333:48370 2012-06-28 11:20:19 +00:00
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 33e8feb880 Fix #31835: OBJ Importer corrupts a model (crash in edit mode)
Added back face validation to BKE_mesh_validate_arrays.

This is needed because some addons (like OBJ importer) are reading
tessfaces and then converting them to ngons and validation of tessfaces
is needed before such a conversion.

Validation of faces would happen only if there's no polys in mesh.
2012-06-28 09:08:11 +00:00
Sergey Sharybin 20e854bb16 Fix #31929: VSE crash with relative paths and rebuilding proxies 2012-06-28 07:58:34 +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 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
Tamito Kajiyama 1f7ae143a2 Merged changes in the trunk up to revision 48227.
Conflicts resolved:
source/blender/blenloader/intern/readfile.c
source/blender/editors/space_file/filelist.c
2012-06-24 10:29:26 +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