Commit Graph

443 Commits

Author SHA1 Message Date
92852aee83 Compilation error fix: plain C dos not support mixed declarations and cod 2012-09-18 06:16:38 +00:00
Dalai Felinto
c00d0fa515 fix for segfault when trying to link a sensor with an actuator from an object different than the active.
Campbell raised a preference on using direct C calls instead of WM_operator_name_call(). But since the original commit for 'smart controller' was already using it, this is something for a different commit
2012-09-18 05:34:31 +00:00
17cb1bcdf5 style cleanup 2012-09-17 01:42:47 +00:00
232571c61a code cleanup: replace macro for BLI_rect size/center with inline functions. 2012-09-15 11:48:20 +00:00
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
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
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
ed6215bff1 a-z menu input now works for enum popups. 2012-09-11 22:55:27 +00:00
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
12c71a8c68 fix [#32384] Submenu hotkeys not working at all since 2.6x 2012-09-10 06:10:43 +00:00
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
35faf9615a missing include in own recent commit 2012-09-10 05:47:07 +00:00
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
eb9a7c2188 style cleanup 2012-09-10 01:34:42 +00:00
4249718649 fix for own error in r50482. 2012-09-10 01:22:04 +00:00
3ded533e28 style cleanup 2012-09-10 01:07:20 +00:00
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
aa2d84da37 style cleanup:
also remove some redundant conversions int -> short -> int
2012-09-09 00:00:21 +00:00
1a7eb3454e style cleanup 2012-09-08 08:59:47 +00:00
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
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
2ec75c3104 code cleanup: comments and some minor edits to interface code. 2012-08-25 20:49:51 +00:00
ed0489bb6e style cleanup: also spelling 2012-08-24 23:22:34 +00:00
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
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
abd031bb4e code cleanup: use rect size macros for the interface 2012-08-21 19:35:06 +00:00
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
3204731209 code cleanup: don't use magic numbers for curve flag & use bool args for curvemapping_changed() 2012-08-21 08:47:36 +00:00
77f47799dd code cleanup: use BLI_RCT_SIZE macro 2012-08-20 23:06:17 +00:00
26f073b327 macros for rectangle center and size 2012-08-20 15:29:02 +00:00
d36da8a8a1 style cleanup 2012-08-19 10:41:27 +00:00
ab662a1e02 fix for own commit r49991, this exposed bad logic in rect copy function. 2012-08-18 20:54:43 +00:00
a5b5f5d3fb code cleanup: use BLI rect functions for interface button and block code. 2012-08-18 18:11:51 +00:00
63f143a3cc use rctf struct for UI buttons and blocks, easier to read and means we can use BLI_rctf functions. 2012-08-18 16:53:46 +00:00
b96c622015 style cleanup 2012-08-11 22:12:32 +00:00
c567cf3fab code cleanup: WM naming conventions 2012-08-11 21:35:24 +00:00
0cfd402a7f scale down histogram button movement by 10, was very sensitive 2012-07-29 01:41:46 +00:00
2b8fdedaf3 Fix #31897: Ctrl+Click in 'Hue Correct' Node Adds in Wrong Location
Misusage of X/Y coords, ancient one!
2012-07-26 12:04:11 +00:00
ab0fa803cd image histogram/sample line couldn't show HDR colors. now allow zooming the view to see colors up to 10.0 2012-07-26 09:06:23 +00:00
d2a77c07e0 Fix #32004: Up/down arrow keys can move index out of actual range of template_list
Fixed by clamping current index value to 0..list_size-1 range in list event
handling function. This shouldn't give any regressions since this clamping\
happens only after template was already displayed so items counter should be
correct here.

It is still possible to set index to meaningless value by directly changing
the index value via python, but that's not in the scope of interface engine
and not currently considered a bug.
2012-07-25 16:53:56 +00:00
6423461247 shift help with continuous grab on a curve point now does scaled motion. 2012-07-18 17:29:15 +00:00
2945ba9e5e holding shift with cont. grab now works on the hsv cube and the value slider. 2012-07-17 15:44:33 +00:00
46bec42333 option to clear all keys from a button, so you dont have to hunt about for the keys inserted. 2012-07-17 15:16:44 +00:00
593163e6e5 fix for minor error in previous commit (wasnt connecting right faces for cyclic mask), also avoid doing more area calculations then needed when checking if the mouse is moving away from uiBlock. 2012-07-14 23:26:54 +00:00
0dafa97ea3 UI translation from inside Blender UI: first part.
This commit reshapes a bit runtime button info getter, by adding a new uiButGetStrInfo() which accepts a variable number of uiStringInfo parameters, and tries to fill them with the requested strings, for the given button (label, tip, context, RNA identifier, keymap, etc.). Currently used mostly by existing ui_tooltip_create(), and new UI_OT_edittranslation_init operator.

It also adds a few getters (to get RNA i18n context, and current language iso code).

Finally, it adds to C operators needed for the py ui_translation addon:
*UI_OT_edittranslation_init, which gathers requested data and launch the py operator.
*UI_OT_reloadtranslation, which forces a full reload of the whole UI translation (including rechecking the directory containing mo files).

For the first operator to work, it also adds a new user preferences path: i18n_branches_directory, to point to the /branch part of a bf-translation checkout.
2012-07-09 14:25:35 +00:00
cfb7aee017 style cleanup 2012-07-07 22:51:57 +00:00
84bf3e48c0 style cleanup: use c style comments in C code 2012-07-06 23:56:59 +00:00
3a0593cc3d code cleanup: dont use function calls like dot_v3v3, pow and sqrt within macros which results in calling the function multiple times needlessly.
also added some comments.
2012-07-06 22:48:28 +00:00
558721ab59 More spell checking. 2012-07-04 15:04:38 +00:00
4d2a6a8e21 Spellfixes: colour -> color 2012-07-04 12:19:50 +00:00