Commit Graph

1564 Commits

Author SHA1 Message Date
Campbell Barton
edb78d090c code cleanup:
- make view3d project names more consistent.
- remove apply_project_float() its not needed.
- update comments referencing an old function name.
- move doxygen docs into the C file, prefer they are kept here to avoid getting out of sync with code.
2012-09-20 04:56:24 +00:00
Bastien Montagne
b25bea036f Add a "Header" sub-menu to the right-click one of all buttons in a header area. Also header tools entries are now translatable! 2012-09-19 18:47:41 +00:00
Campbell Barton
8e641348f9 fix own error BLI_rctf_cent_x/y were incorrectly returning int's, also quiet some warnings. 2012-09-18 08:00: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
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
Campbell Barton
f6c7a69565 code cleanup: correct misleading use of LABEL button type. 2012-09-14 05:44:47 +00:00
Campbell Barton
05755d307a fix [#31946] Masking doesn't respect pixel ratio 2012-09-13 05:29:38 +00:00
Campbell Barton
c5310521f8 fix for drawing non 1:1 aspect masks, transform and selection still need support. 2012-09-13 02:28:48 +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
ccaf475422 code cleanup: use typedef'd enum for block bounds types. 2012-09-10 07:03:30 +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
acfff7a65f fixes for weight paint mode:
- sample weight didnt work when the object was transformed.
- sample weight didnt work when vertex selection was enabled.
- 'All faces' option is used by weight paint mode, but there was no UI access.

add ED_mesh_pick_face_vert(). which uses the face selection buffer but returns the closest vertex.
2012-09-07 05:54:54 +00:00
Campbell Barton
704c5f09b5 remove makeDerivedMesh from ED_mesh_pick_face(), this was added 44256 (bmesh merge), but is pretty bad (rebuilding entire derived mesh to pick a face), tested with subsurf modifier, sintel mesh - it works ok without it.
Also - other select modes like border-select dont do this, so looks safe to disable.
2012-09-07 00:58:00 +00:00
Campbell Barton
04418fe8dd code cleanup: header had many incorrect sections for function/file, also rename mouse_mesh() --> EDBM_select_pick() 2012-09-07 00:22:10 +00:00
Campbell Barton
aca97317af code cleanup: move vertex and face picking functions into meshtools.c 2012-09-06 23:50:28 +00:00
Campbell Barton
774cc0ab16 fix [#30063] Weight Paint + Pose Mode: [m] key does not toggle Face Selection Masking
disallow some pose operators when weight paint mode is enabled.
2012-09-06 23:10:01 +00:00
Campbell Barton
d75a66674d code cleanup: remove deprecated defines and some struct members 2012-09-06 00:33:59 +00:00
Campbell Barton
306e2b4878 stule cleanup 2012-09-04 18:47:08 +00:00
Campbell Barton
a71b160184 fix for building on msvc2008 (also style cleanup) 2012-09-04 01:23:50 +00:00
Brecht Van Lommel
fe9b1c644f Fix #32458: changing UV image in image editor not working when the active face
was not selected. Now changed it so that the active face must also have its
UVs shown in the image editor to be used as the source of the image shown.
2012-08-31 15:01:40 +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
ff876a473a HDR color picker now works in the clip space. 2012-08-20 16:56:11 +00:00
Campbell Barton
a5b5f5d3fb code cleanup: use BLI rect functions for interface button and block code. 2012-08-18 18:11:51 +00:00
Campbell Barton
81dd80f1d3 support fro HDR color picking (values over 1.0) when color picking in the image editor or node space. 2012-08-16 14:47:14 +00:00
Campbell Barton
8d496b3bf2 fix [#32315] Circle select unreliable when in vertex+edge select mode
dist_squared_to_line_segment_v2() was returning the sqrt'd value in some cases.
also use int's for edge_inside_circle() rather then shorts since it was doing int/float/short conversions and we're now using int's for screen vars in more places.
2012-08-14 08:24:49 +00:00
Campbell Barton
9cce2d8645 smooth-view for 2d views, graph editor, sequencer, node view, works with border zoom, view selected, view all. 2012-08-12 01:07:31 +00:00
Campbell Barton
b96c622015 style cleanup 2012-08-11 22:12:32 +00:00
Campbell Barton
b97fc46abc remove all remaining data files from source, now all are converted at build time.
note: this is currently very slow in cmake, will address this next.
2012-08-11 15:24:31 +00:00
Campbell Barton
90f443bb86 generate brush icons C files at build time. 2012-08-11 14:40:09 +00:00
Campbell Barton
b8b7e5d137 fix for minor UI annoyance - when the window is fullscreen now dont draw area corners since areas cant be split when fullscreen. 2012-08-11 00:05:57 +00:00
Campbell Barton
887d517e3b use define for 0.375 = GLA_PIXEL_OFS, used all over the interface.
also use M_SQRT1_2 in math_rotation.c
2012-08-05 17:27:52 +00:00
Campbell Barton
84df85164d fullscreen mask editing now works in the image space over a viewer node. 2012-08-03 20:56:04 +00:00
Campbell Barton
689c6133ea split node_edit.c into separate files (add, group, relationshops), was almost 5000 loc. 2012-08-01 19:11:17 +00:00
Campbell Barton
179d00fb9c make node select_all consistent with other select operators, also add Ctrl+I, select inverse to node space. 2012-08-01 13:28:19 +00:00
Campbell Barton
26cc3dd708 misc mask fixes
- image space used wrong notifiers.
- image notifier now checks for mask mode before listening to mask edits.
- mask keyframes now draw in the image space.
2012-08-01 10:50:39 +00:00
Campbell Barton
a199ae5368 style cleanup: whitespace, also add '?' to save over popup since it wasnt totally clear it was a question (user pointed this out, they thought it was just notification and lost their work). 2012-07-31 23:06:12 +00:00
Campbell Barton
c42d0189e5 resolve glitch in the image space where mask editing and UVs would conflict.
now UV editing overrides mask.
2012-07-31 14:16:27 +00:00
Campbell Barton
f1acd6ac3e code cleanup: pass mouse position as int[2] rather then wmEvent 2012-07-27 15:15:55 +00:00
Campbell Barton
ff078d309e change clip utility function arguments to take space data and region rather then the context.
this allows a fix to be applied that corrects the helper line in the image view when transforming a mask.
2012-07-26 22:41:40 +00:00
Campbell Barton
ee572a9642 code cleanup: minor edits for mask/transform 2012-07-26 21:22:42 +00:00
Campbell Barton
f39a21c36f add ED_space_image_get_size_fl, ED_space_clip_get_size_fl 2012-07-26 11:47:47 +00:00
Sergey Sharybin
2157031dc0 Fix #31550: Active Armature bone hardly distinguishable from other selected bones
Made active bone color a bit brighter and made it a userpref option.
2012-07-26 10:53:59 +00:00
Campbell Barton
77e7ca6aa8 mask/image editor now works for border select and lasso 2012-07-26 09:54:52 +00:00
Campbell Barton
2b133b14ab mask/image viewer now works with non 1:1 image aspect, editing masks in the image viewer should be generally usable now though still some TODO's left. 2012-07-25 20:39:49 +00:00
Sergey Sharybin
4ca9275b44 Implement operator to select linked data from outliner
Supports selecting using object data, material and library.

Would be nice to hide this menu item from menus appearing for
datablocks which does not support such a selection, but that
could be done separately.
2012-07-25 19:45:34 +00:00
Campbell Barton
7fba5779ed match function names for clip/image spaces 2012-07-25 16:30:53 +00:00
Campbell Barton
c3a8894f57 wip mask/image commit, mostly internal function & added some TODO's 2012-07-25 10:39:54 +00:00
Lukas Toenne
93f359604c Added a missing forward declaration, causing compiler error in r49192. 2012-07-25 10:37:31 +00:00