Commit Graph

1185 Commits

Author SHA1 Message Date
a73dd3476e Color Management, Stage 2: Switch color pipeline to use OpenColorIO
Replace old color pipeline which was supporting linear/sRGB color spaces
only with OpenColorIO-based pipeline.

This introduces two configurable color spaces:

- Input color space for images and movie clips. This space is used to convert
  images/movies from color space in which file is saved to Blender's linear
  space (for float images, byte images are not internally converted, only input
  space is stored for such images and used later).

  This setting could be found in image/clip data block settings.

- Display color space which defines space in which particular display is working.

  This settings could be found in scene's Color Management panel.

When render result is being displayed on the screen, apart from converting image
to display space, some additional conversions could happen.

This conversions are:

- View, which defines tone curve applying before display transformation.
  These are different ways to view the image on the same display device.
  For example it could be used to emulate film view on sRGB display.

- Exposure affects on image exposure before tone map is applied.

- Gamma is post-display gamma correction, could be used to match particular
  display gamma.

- RGB curves are user-defined curves which are applying before display
  transformation, could be used for different purposes.

All this settings by default are only applying on render result and does not
affect on other images. If some particular image needs to be affected by this
transformation, "View as Render" setting of image data block should be set to
truth. Movie clips are always affected by all display transformations.

This commit also introduces configurable color space in which sequencer is
working. This setting could be found in scene's Color Management panel and
it should be used if such stuff as grading needs to be done in color space
different from sRGB (i.e. when Film view on sRGB display is use, using VD16
space as sequencer's internal space would make grading working in space
which is close to the space using for display).

Some technical notes:

- Image buffer's float buffer is now always in linear space, even if it was
  created from 16bit byte images.

- Space of byte buffer is stored in image buffer's rect_colorspace property.

- Profile of image buffer was removed since it's not longer meaningful.

- OpenGL and GLSL is supposed to always work in sRGB space. It is possible
  to support other spaces, but it's quite large project which isn't so
  much important.

- Legacy Color Management option disabled is emulated by using None display.
  It could have some regressions, but there's no clear way to avoid them.

- If OpenColorIO is disabled on build time, it should make blender behaving
  in the same way as previous release with color management enabled.

More details could be found at this page (more details would be added soon):
http://wiki.blender.org/index.php/Dev:Ref/Release_Notes/2.64/Color_Management

--
Thanks to Xavier Thomas, Lukas Toene for initial work on OpenColorIO
integration and to Brecht van Lommel for some further development and code/
usecase review!
2012-09-15 10:05:07 +00:00
e75f5c8208 quiet -Wmissing-prototypes warnings, and enable this warning by default for C with gcc.
helps for finding unused functions and making functions static, also did some minor code cleanup.
2012-09-15 01:52:28 +00:00
306e2b4878 stule cleanup 2012-09-04 18:47:08 +00:00
86a69c5028 dont re-use previous values for link/append operator, would get mixed up with when accessing from a key shortcut. 2012-08-15 11:53:49 +00:00
97859e8709 add wm job types they are not used yet, so this just defines them for new jobs add add argument to search by job type. 2012-08-15 09:42:06 +00:00
c567cf3fab code cleanup: WM naming conventions 2012-08-11 21:35:24 +00:00
5e0f254afa utility functions for getting/setting rectangles for operators. 2012-08-08 20:38:55 +00:00
0b5a995cfd code cleanup: rename G.rt to G.debug_value 2012-08-08 18:21:54 +00:00
97e9659c53 style cleanup 2012-08-04 12:54:27 +00:00
6972e19fd5 code cleanup:
- replace (strcmp(vfont->name, FO_BUILTIN_NAME) == 0)  with  (BKE_vfont_is_builtin(vfont)).
- reduce some double promotions.
2012-08-03 22:12:57 +00:00
8f32070e9d fix incorrect assert for mask face checking, also correct own bad spelling 2012-07-18 11:01:23 +00:00
4f5d982fb1 Readme and Release Log Links:
* Update to 2.64
2012-07-11 21:57:11 +00:00
20d7a38061 don't close operator dialogs when the mouse moves outside of them. this is very annoying when you spend time to enter in many values, escape, click-out-side still quits. 2012-06-29 20:29:13 +00:00
8a3d571744 Related to [#31936] Mesh saved in 2.63 with legacy format have holes instead ngons
Make clear in this option's tooltip that it only saves tris and quads, no implicit triangulation of other ngons, which are lost!
2012-06-29 11:59:47 +00:00
358f7d40b6 style cleanup: use TRUE/FALSE for ui align args. 2012-06-19 23:08:16 +00:00
15f4eb34fa Collada: Moved interface definitions from wm_operators.c to blender/editors/io 2012-06-17 23:13:39 +00:00
c4eb9c7a7b Collada: (Exporter) reorganized the export panel 2012-06-17 20:19:44 +00:00
3a6f573b95 style cleanup: also quiet a warning. 2012-06-17 11:36:28 +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
0df30d1063 Collada: (Exporter) add 'mesh type selection(view|render)' for Apply modifiers option 2012-06-16 23:35:53 +00:00
664c95d1eb code cleanup: collada
- when bubble sorting names - dont convert to str::string just to compare strings
- use BLI_linklist_index() to check if an item is in the list
- quiet some warnings
2012-06-16 09:16:24 +00:00
9f6a66d5f9 Collada: (Exporter) Add new option 'deform bones only' 2012-06-15 22:00:25 +00:00
3264db3797 Collada (Exporter) improved export panel layout minor code cleanup 2012-06-15 09:56:06 +00:00
e95e2419f8 Collada (Exporter) improved export panel layout 2012-06-15 09:51:27 +00:00
05a1a31693 Collada: Added export Option 'sort by object name' to fix an issue with Second Life import 2012-06-14 10:38:39 +00:00
b006ed7d65 fix: [#31684] Collada, add file extension automatically does not work 2012-06-13 19:10:52 +00:00
c7cca0c842 fix code style cleanup 2012-06-12 23:01:43 +00:00
2e8a2f7668 style cleanup 2012-06-12 22:05:33 +00:00
36ed4818e5 patch #31794 Collada: make exporter more robust, now uses BKE_object_relational_superset() 2012-06-12 21:25:29 +00:00
bdf9e02346 new sequence strip type for masks. 2012-06-07 18:24:36 +00:00
49a5141cde [#31739] Collada: New Export selections 'Include Armatures' 2012-06-07 17:55:26 +00:00
5189356d58 style cleanup 2012-06-04 20:11:09 +00:00
68a9dd54ec mask mode for clip editor developed by Sergey Sharybin, Pete Larabell and myself.
see:
http://wiki.blender.org/index.php/User:Nazg-gul/MaskEditor


note - mask editing tools need continued development, feather option is not working 100%
2012-06-04 16:42:58 +00:00
4fc4aa383b There's no MASK_OT_select_border in trunk yet 2012-06-01 13:55:00 +00:00
02b927b8c4 style cleanup 2012-05-31 18:40:06 +00:00
fd2f05be44 A few minor UI message fixes... 2012-05-28 14:01:42 +00:00
ee15754e31 move mouse select options into their own property function - more operators should use these eventually 2012-05-28 05:45:19 +00:00
b33f0ef0e3 style cleanup 2012-05-27 19:40:36 +00:00
822362189b [#31607] Collada: (Exporter) Implementation of 'use Object Instantiation' Option 2012-05-26 22:46:28 +00:00
da67c969b3 Patch #31570: Implementation of 'Include bone children' Option 2012-05-24 14:56:09 +00:00
89b1a2bbcf Collada: Added a Preset selector 2012-05-22 17:57:03 +00:00
2d2d36fe3b code cleanup:
- style - multi-line ifs move braces onto new lines.
- iterators - convert some to macros, other split up and move brace.
2012-05-20 19:49:27 +00:00
af3e348430 code cleanup: use TRUE/FALSE rather then 1/0 for better readability, also replace do prefix with do_ for bool vars. 2012-05-19 13:28:19 +00:00
599d213115 style cleanup: line length and ensure some macros error when not ending with ';' 2012-05-17 07:59:25 +00:00
ed33320e3f Code cleanup: simplify standard GHash creation.
Added four new functions as shortcuts to creating GHashes that use the
standard ptr/str/int/pair hash and compare functions.

GHash *BLI_ghash_ptr_new(const char *info);
GHash *BLI_ghash_str_new(const char *info);
GHash *BLI_ghash_int_new(const char *info);
GHash *BLI_ghash_pair_new(const char *info);

Replaced almost all occurrences of BLI_ghash_new() with one of the
above functions.
2012-05-16 00:51:36 +00:00
8b687f6c36 code cleanup: add WM_gesture_lasso_path_to_array, move mouse path to array conversion there. 2012-05-14 12:41:56 +00:00
98ba7dfecf Collada: patch #31331: Implementation of 'Apply Modifiers' 2012-05-07 18:09:59 +00:00
53b221960a Last part of fix for [#31157]: Some (actually, 172) operators have no tooltip.
Only remaining undocumented one is IMAGE_OT_record_composite (not sure what it actually does, nor even whether it’s actually working or not...).

Note that I didn’t bother with operators flagged as OPTYPE_INTERNAL!
2012-05-06 15:03:31 +00:00
fef40eda72 Fix related to [#31157]: Tips (descriptions) of macro operators were not set into underlying RNA struct, hence did not show up in UI. 2012-05-05 19:26:53 +00:00
299ff91ea1 code cleanup: BKE_scene api naming.
also stop numpy from being found in /usr/include with cmake.
2012-05-05 14:33:36 +00:00