Commit Graph

2130 Commits

Author SHA1 Message Date
Campbell Barton
b8a67bccc0 code cleanup: add some comments and made some small speedup to text clipping in the UI 2012-09-17 00:33:07 +00:00
Campbell Barton
42dd135be0 style cleanup: multiple statements on a single line in interface code. 2012-09-16 23:40:03 +00:00
Campbell Barton
e84b300d9e use the format attribute in more places, disable X11 options when building with GHOST_SDL 2012-09-16 10:39:19 +00:00
Campbell Barton
232571c61a code cleanup: replace macro for BLI_rect size/center with inline functions. 2012-09-15 11:48:20 +00:00
Sergey Sharybin
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
Campbell Barton
5dbd603363 code cleanup: remove more invalid/paranoid NULL checks 2012-09-15 07:42:30 +00:00
Campbell Barton
fed6b2bcb7 code cleanup: remove paranoid/invalid NULL checks and also reduce some unneeded size_t -> int conversions. 2012-09-15 07:31:17 +00:00
Campbell Barton
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
Sergey Sharybin
b48398c96a Correction to rev50582: LABEL could have a1 = 1.0f and in this case a2 would be used as alpha multiplier for icon 2012-09-14 16:41:00 +00:00
Campbell Barton
7a71f58af3 fixes for NULL checks, remove some redundant checks and add some in that have been removed by accident as code has been updated. 2012-09-14 06:17:14 +00:00
Campbell Barton
f6c7a69565 code cleanup: correct misleading use of LABEL button type. 2012-09-14 05:44:47 +00:00
Campbell Barton
b4df6b2819 code cleanup: changing the INT define to an enum conflicts with INT typedef on windows, use more verbose names for button pointer types. also removed some redundant flags from buttons. 2012-09-12 00:32:33 +00:00
Campbell Barton
319831d7b8 code cleanup: use an enum for uiBut->pointype (more useful debug display of members),
and rename COL -> COLOR --- less confusing since the layout engine has row/col's.
2012-09-11 23:10:23 +00:00
Campbell Barton
ed6215bff1 a-z menu input now works for enum popups. 2012-09-11 22:55:27 +00:00
Campbell Barton
c276ef6a26 change to auto-opening menus so the first menu item in popup menu wont auto open.
This way we can do predictable key-shortcut-chaining. Eg.

Shift+A, M, O --- adds a metaball cone.

In editmode
Ctrl+V, X, A --- Assign new vertex group.
2012-09-10 10:50:08 +00:00
Campbell Barton
ccaf475422 code cleanup: use typedef'd enum for block bounds types. 2012-09-10 07:03:30 +00:00
Campbell Barton
b1ff5651fb make alphanumeric key shortcuts work for submenu's so you can chain keys together to select items in a menu.
eg: 'Ctrl+V, E, S'
for - Vertex, Separate, Selection
2012-09-10 06:44:25 +00:00
Campbell Barton
12c71a8c68 fix [#32384] Submenu hotkeys not working at all since 2.6x 2012-09-10 06:10:43 +00:00
Campbell Barton
1a22503cba code cleanup:
use an enum typedef for button types. it was quite annoying debugging UI code since the defines are bit-shifted. GDB would show but->type as 13824 and blender define was (27 << 9).

Now but->type shows as a humanly readable names.
2012-09-10 06:05:19 +00:00
Campbell Barton
35faf9615a missing include in own recent commit 2012-09-10 05:47:07 +00:00
Campbell Barton
61d40c38e0 code cleanup: use single define for undo string size, was 64 mostly, but 512 in the UI. 2012-09-10 01:55:58 +00:00
Campbell Barton
eb9a7c2188 style cleanup 2012-09-10 01:34:42 +00:00
Campbell Barton
4249718649 fix for own error in r50482. 2012-09-10 01:22:04 +00:00
Campbell Barton
3ded533e28 style cleanup 2012-09-10 01:07:20 +00:00
Campbell Barton
521c085af8 fix [#29072] Color pickers don't close properly when moving the mouse away
instead of checking if the mouse is over another button to exit the popup.
Just check if the mouse is outside the rect-union between the button and the popup.
2012-09-09 01:44:55 +00:00
Campbell Barton
aa2d84da37 style cleanup:
also remove some redundant conversions int -> short -> int
2012-09-09 00:00:21 +00:00
Sv. Lockal
bad06c158e fix for error in own recent commit: do not hide alpha in HSV and Hex modes 2012-09-08 19:40:34 +00:00
Campbell Barton
1a7eb3454e style cleanup 2012-09-08 08:59:47 +00:00
Campbell Barton
a4b71f4e01 fix for various redundant checks and possibly fix some crashes in rare situations. 2012-09-05 01:42:52 +00:00
Campbell Barton
306e2b4878 stule cleanup 2012-09-04 18:47:08 +00:00
Sv. Lockal
927b7ed303 Do not show %t to user on right click menu buttons which use "Name%t|...%x0|..." syntax 2012-09-04 17:09:40 +00:00
Sergey Sharybin
68563134d4 Mango request: display sliders for current point in curve mapping
--
svn merge -r49893:49894 ^/branches/soc-2011-tomato
2012-09-04 12:40:47 +00:00
Campbell Barton
a71b160184 fix for building on msvc2008 (also style cleanup) 2012-09-04 01:23:50 +00:00
Campbell Barton
aaafa0c2fe code cleanup: move file string defines into BLI_path_utils.h, BKE_utildefines is now unused but keep incase we want to add defines there later. 2012-09-03 22:04:14 +00:00
Sergey Sharybin
e58548706f Fix regression introduced in recent jobs system refactoring
Fluid simulation job progress wasn't displayed anymore.
2012-09-03 16:05:37 +00:00
Campbell Barton
95f7264014 code cleanup: split out defines in BKE_utildefines.h into BLO_blend_defs.h and ui defines in interface_intern.h 2012-09-03 10:12:25 +00:00
Campbell Barton
56534ecdcb style cleanup: also add debugging print function for derived mesh DM_debug_print_cdlayers() 2012-09-03 02:41:12 +00:00
Sv. Lockal
ebbfc46bea Use function pointers instead of hard-coded english button names in color picker block.
This solves the problem with es/ru translations of color picker block reported by Gabriel Gazzán in Bf-translations-dev.
2012-09-02 13:36:33 +00:00
Brecht Van Lommel
fd22a5603a Fix #32418: color copy/paste between gamma and linear color buttons gave wrong
results, now it does the conversion.
2012-08-30 17:55:21 +00:00
Sergey Sharybin
7b84a75a22 Fix zooming in/out preview in sequencer
It was a regression since disabling Y-axis zooming in sequencer.
Now check region type and allow all kind of zooming for preview
region.
2012-08-26 16:41:03 +00:00
Campbell Barton
2ec75c3104 code cleanup: comments and some minor edits to interface code. 2012-08-25 20:49:51 +00:00
Campbell Barton
ed0489bb6e style cleanup: also spelling 2012-08-24 23:22:34 +00:00
Campbell Barton
56b28635e7 code cleanup: rename BLI_in_rctf() --> BLI_rctf_isect_pt(), to conform with our naming convention. 2012-08-23 18:25:45 +00:00
Campbell Barton
f4ab3b9d8b sequencer zooms horizontal only from mouse wheel and plus buttons. 2012-08-23 14:49:20 +00:00
Mitchell Stokes
fd2c3d1e30 BGE: When creating a controller by linking a sensor and actuator, the created controller will always be an and controller instead of the last controller type added. 2012-08-23 09:24:59 +00:00
Campbell Barton
1939baa47d style cleanup 2012-08-22 16:44:32 +00:00
Campbell Barton
c92ab5c3ef code cleanup: use rect size macros 2012-08-21 20:34:05 +00:00
Campbell Barton
abd031bb4e code cleanup: use rect size macros for the interface 2012-08-21 19:35:06 +00:00
Campbell Barton
0fd2448c8b alt+wheel scrolling over the render slots works again (this didnt support scrolling when new interfaces would replace the old ones). 2012-08-21 15:45:17 +00:00
Campbell Barton
3090ae35af fix [#32374] Curve compositor UI drawing glitch
copy the curve for the compositor.
2012-08-21 15:14:29 +00:00