Commit Graph

1528 Commits

Author SHA1 Message Date
Campbell Barton
07b52efa20 fix for bug in loop select, picking the active vert/edge/face was using global space checks on object space coordinates. this removes last use of ED_view3d_project_float_noclip(). 2012-10-05 04:18:52 +00:00
Campbell Barton
5770e44f43 replace most uses of ED_view3d_project_float_noclip() with ED_view3d_project_float_global/object 2012-10-05 03:57:56 +00:00
Campbell Barton
b9113f205c replace ED_view3d_project_float with ED_view3d_project_float_global 2012-10-05 03:20:14 +00:00
Campbell Barton
7339b09e7f add ED_view3d_project_float_global, ED_view3d_project_float_object, ED_view3d_project_float_ex function calls and cleanup cursor3d set function which had some odd logic. 2012-10-05 01:27:28 +00:00
Brecht Van Lommel
79b4c0e600 UI: buttons that open menus now align to the menu rather than looking disconnected.
Also fixed some cases where the menu was offset 1 or 2 pixels wrong, though not
quite all of them, still off by 1 pixel sometimes.

http://www.pasteall.org/pic/show.php?id=38478
2012-10-04 20:12:05 +00:00
Campbell Barton
e77004157e make ED_view3d_project_int equivalent to ED_view3d_project_short functions. 2012-10-04 17:52:12 +00:00
Campbell Barton
709903c6bb refactor ED_view3d_project_short & ED_view3d_project_short_noclip,
This is apart of a code cleanup to make  ED_view3d_project_short/ED_view3d_project_int/ED_view3d_project_float interchangeable. Currently they work very differently in a way thats quite confusing (and cause of bugs in blender that remain uncorrected) - fixes coming.

There are also cases where ED_view3d_project_short is used, then the values are converted from shorts into int's after because ED_view3d_project_int() behaves differently, will unify behavior of these functions after this commit.

- rather then clip/noclip versions, pass flags (for bound-box clip, window clip).
- rather then store the invalid clip-value, return success (or error value clip_near, clip_bb, clip_win, overflow).
- remove local copies of project functions from drawobject.c: view3d_project_short_clip, view3d_project_short_noclip, view3d_project_short_clip_persmat.


add functions:
- ED_view3d_project_short_global() global space projection
- ED_view3d_project_short_object() object space projection.
- ED_view3d_project_short_ex() take perspective matrix and local space option as args.
- ED_view3d_project_base() - special function to set the Object 'Base' screen coords (sx, sy), since this is a common enough operation.
2012-10-04 16:46:15 +00:00
Campbell Barton
df298490b8 mask data is no longer automatically added when sculpting (except when there is a multi-res modifier). 2012-10-01 05:19:57 +00:00
Campbell Barton
ad3f01e1d8 fix/workaround [#31811] Subdivision Surface (Apply modifier to editing cage during Editmode) Loop Cut Crash
A correct fix for this bug likely involves changuing how operators are called in the event loop but such changes better not be made just before the release.
2012-09-28 11:02:43 +00:00
Campbell Barton
d4e40b5230 fix [#32616] Changing parent does not keep transformation
add an option to apply the transform of an object when re-parenting.

the reason for this is you dont always want to apply transform because...
- your object may be driven/animated and the transformation will be lost.
- with negative scales and rotation it can end up giving odd/not-useful results.
2012-09-27 12:24:38 +00:00
Campbell Barton
c574419049 fix for crashes caused by mixups when adding objects when incompatible object types were already in editmode. 2012-09-23 07:18:50 +00:00
Campbell Barton
3b487a6944 fix for all pose-group editing functions crashing when the context didnt have an area (in background mode),
fix pose-group-sort and pose-group-moving being disabled for pinned poses.

also fix for own missing NULL check for pose mask clear which would crash when run without an active object
2012-09-23 02:31:30 +00:00
Campbell Barton
76850d80b1 Enable predictable menu key-chaining as with r50501.
The way it works now, navigation keys (up/down, number, a-z) - won't apply to a submenu if there are no active buttons in that menu, instead the parent menu gets the event.
2012-09-22 07:38:16 +00:00
Dalai Felinto
184a232ccc 2.49 feature: Game Controller State name shows up when mouse over them (the name of a state is the name of the top controller of this state)
review and small tweaks by Campbell Barton
2012-09-21 04:09:09 +00:00
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