Commit Graph

11497 Commits

Author SHA1 Message Date
98a7ca61fa Merged changes in the trunk up to revision 48505. 2012-07-03 00:02:45 +00:00
f80ea57d31 Color management: added support of color applying color transform on save
This applies to files when saving from image editor and when saving
render result.

Currently only works for images which has got float buffer and saving
happens to byte formats (such as PNG, JPEG). Also supports applying
color management for preview jpegs when main buffer is saving into
OpenEXR file.

As default transform when saving from image editor would be the same
settings as image editor uses itself.

Defaults for color correction of rendered images would be default
display name, no view transform and default values for gamma and
exposure.
2012-07-02 16:38:06 +00:00
896fb9fda7 Color management refactor
- Move color management display settings into own structure like it's
  done for view settings.

  This is helpful from two sides:

  * It is planned to support display calibration settings which
    should be taken into account by color management stuff to
    add needed transformations to OCIO processor.
  * File saving should be able to make the same display
    transformations as it's done by window when displaying the image.
    Having own DNA and RNA structures for display device settings
    helps avoiding having duplicated code.

- Small refactor of cacheing functions which are now accepts
  cache-like versions of view and display settings. This structures
  used for cache are quite the same as DNA structures but they contains
  indices of view and display which avoids extra lookup for this
  things.

  This also helps having reasonable amount of variables passing
  to cache functions.
2012-07-02 16:37:40 +00:00
11b0e4866e Merging r48470 through r48489 from trunk into soc-2011-tomato 2012-07-02 11:29:55 +00:00
e2e79b9e10 Validate mesh selection stack in mesh_validate function
Related on #31944: Blender crashes on switching to mesh edit mode
2012-07-02 09:57:31 +00:00
5a803b7edf svn merge ^/trunk/blender -r48415:48469 2012-07-01 15:39:02 +00:00
1597ad9377 style cleanup 2012-07-01 09:54:44 +00:00
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
3ae2d5aa83 Merging r48407 through r48409 from trunk into soc-2011-tomato 2012-06-29 14:34:29 +00:00
344ca17247 Added command line option "--debug-jobs"
This option enables time profiling of background jobs, namely it's
measuring run time of the job and prints it to the console.
2012-06-29 14:32:25 +00:00
e6469eb178 svn merge ^/trunk/blender -r48378:48406 2012-06-29 13:11:44 +00:00
6ddc574d9d Fix #31953: Forcefield Texture using image file, gradient mode not working 2012-06-29 11:44:46 +00:00
3ad9e0f3ec Fix #31948: dynamic paint substeps do not work for objects parented to armatures 2012-06-29 11:19:29 +00:00
5d9f3c5d18 fix for crash scaling an image 2012-06-29 10:52:37 +00:00
1a2852cf1c svn merge ^/trunk/blender -r48375:48378 2012-06-28 15:41:44 +00:00
bee0f76f26 fix for crash in python getting the image size for a sequence. 2012-06-28 15:34:21 +00:00
6b345811b7 svn merge ^/trunk/blender -r48333:48370 2012-06-28 11:20:19 +00:00
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
53bb66e291 Move color management check stuff from blo_read_file_internal to setup_app_data 2012-06-28 10:05:22 +00:00
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
20e854bb16 Fix #31929: VSE crash with relative paths and rebuilding proxies 2012-06-28 07:58:34 +00:00
32478997ec style cleanup 2012-06-27 18:29:47 +00:00
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
d008807a2d style cleanup: header comments, use more doxy compat formatting 2012-06-27 17:48:39 +00:00
8f53bd019f Merging r48264 through r48276 from trunk into soc-2011-tomato 2012-06-25 16:37:58 +00:00
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
17516fee26 svn merge ^/trunk/blender -r48245:48254 2012-06-25 07:41:01 +00:00
15cb064e1b style cleanup 2012-06-25 07:24:48 +00:00
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
ca24daea64 Merging r48224 through r48237 from trunk into soc-2011-tomato 2012-06-24 14:27:23 +00:00
7b3a5ead8c Fix crash sliding disabled marker from preview widget.
Reported by brothermechanic, thanks!
2012-06-24 14:16:40 +00:00
59731c5692 Release cycles:
*BCon 3 - beta.
2012-06-24 14:08:34 +00:00
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
74c9c24d27 style cleanyp 2012-06-23 23:22:19 +00:00
06fb9c85d4 Merging r48196 through r48223 from trunk into soc-2011-tomato 2012-06-23 18:08:56 +00:00
257283e030 added new function BKE_imbuf_to_image_format 2012-06-22 15:40:49 +00:00
23c38bc5e7 svn merge ^/trunk/blender -r48168:48188 2012-06-22 11:56:21 +00:00
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
226c86ae58 use an inline function for rgb -> bw conversion. 2012-06-22 07:49:44 +00:00
86f9f3e439 svn merge ^/trunk/blender -r48153:48158 2012-06-21 12:29:48 +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
78b2f5df47 svn merge ^/trunk/blender -r48147:48153 2012-06-21 08:07:49 +00:00
fae0b2068b falloff options for dilate/erode feather compo node. 2012-06-21 07:45:41 +00:00
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
063222e8c9 svn merge ^/trunk/blender -r48133:48140 2012-06-20 21:11:57 +00:00
463a4ebf1c fix for segfault loading a file with a proxy that is a missing link. 2012-06-20 21:10:34 +00:00
e631cf7062 svn merge ^/trunk/blender -r48119:48129 2012-06-20 17:12:20 +00:00
a744fed46c style cleanup 2012-06-20 16:43:48 +00:00
fdfc8cb17e svn merge ^/trunk/blender -r48114:48119 2012-06-20 14:15:01 +00:00
a550b6fe39 Silent masks "alloc new deform spline" debug print 2012-06-20 13:32:30 +00:00