Commit Graph

5274 Commits

Author SHA1 Message Date
Yevgeny Makarov
07bdbeda84 UI: avoid blurring of view navigation widgets at some UI scales
Differential Revision: https://developer.blender.org/D6734
2020-03-09 17:11:24 +01:00
29f3af9527 GPencil: Refactor of Draw Engine, Vertex Paint and all internal functions
This commit is a full refactor of the grease pencil modules including Draw Engine, Modifiers, VFX, depsgraph update, improvements in operators and conversion of Sculpt and Weight paint tools to real brushes.

Also, a huge code cleanup has been done at all levels.

Thanks to @fclem for his work and yo @pepeland and @mendio for the testing and help in the development.

Differential Revision: https://developer.blender.org/D6293
2020-03-09 16:27:24 +01:00
598ab525da Cleanup: Replace ABS/SQUARE/CUBE with function calls
While it might be handy to have type-less functionality which is
similar to how C++ math is implemented it can not be easily achieved
with just preprocessor in a way which does not have side-effects on
wrong usage.

There macros where often used on a non-trivial expression, and there
was at least one usage where it was causing an actual side effect/bug
on Windows (see change around square_f(sh[index++]) in studiolight.c).

For such cases it is handy to have a function which is guaranteed to
have zero side-effects. The motivation behind actually removing the
macros is that there is already a way to do similar calculation. Also,
not having such macros is a way to guarantee that its usage is not
changed in a way which have side-effects and that it's not used as an
inspiration for cases where it should not be used.

Differential Revision: https://developer.blender.org/D7051
2020-03-09 14:47:59 +01:00
a922a097ef Transform Snap Object: Remove depsgraph when creating context
Currently, this change does not bring functional changes.
But it is necessary to extend the use of the snap system for gizmos,
since, after a Undo, the `depsgraph` pointed by the `snap_context`
has its memory invalidated.

Reviewed By: campbellbarton

Differential Revision: https://developer.blender.org/D7013
2020-03-09 10:02:11 -03:00
0964865568 Cleanup: replace BLI_make_file_string with BLI_join_dirfile where possible
Use 'BLI_join_dirfile' for joining paths that don't need to expand '//'.
2020-03-07 13:26:23 +11:00
b2ee1770d4 Cleanup: Rename ARegion variables from ar to region
The old convention was easy to confuse with ScrArea.
Part of https://developer.blender.org/T74432.

This is mostly a batch rename with some manual fixing. Only single word
variable names are changed, no prefixed/suffixed names.

Brecht van Lommel and Campbell Barton both gave me a green light for
this convention change.

Also ran clan clang format on affected files.
2020-03-06 17:19:23 +01:00
d5572eacc5 Cleanup: Reduce context usage in UI functions
Part of https://developer.blender.org/T74429.

There's a chance that this causes some issues becaue in some cases we
change from getting the window from context to getting it from somewhere
else.
2020-03-06 16:27:13 +01:00
79558a581d CodeCleanup: Use eDrawType
This patch will make use of the eDrawType where it was used as a
variable or parameter name. The eObjectDrawType was renamed to eDrawType
as it is also used by `View3DShading.type`.
2020-03-06 12:23:46 +01:00
297261eb90 CodeCleanup: Added enums to opengl render functions
Motivation the functions get 3 different kind of flag parameters (ImBuf,
DrawType, OffscreenRendering) the naming of the flags were not clear,
leading to mistakes and unnecessary time spend debugging.
2020-03-06 12:11:55 +01:00
bba4a09b2f Cleanup: use 'BKE_' prefix for BKE_deform API calls
- Use 'BKE_object_defgroup' prefix for object functions.

- Rename 'defvert_verify_index' to 'defvert_ensure_index'
  since this adds the group if it isn't found.
2020-03-06 12:56:44 +11:00
Asad-ullah Khan
e4eede8318 UI: rename View Selected" to "Frame Selected"
Addresses T74331
2020-03-04 21:38:23 +11:00
360443a483 Fix T74278: Light, Image Object, and Compositor Backdrop Viewer Node
gizmos are too big

Caused by rB9cac5fa681c5 which fixed the handles for the camera border
gizmo (being much too small)-- which in turn was broken by
rB98e4fbc7cc9e.

Camera border gizmo sets up its matrix_space a bit differently [this is
why we are getting very small values in gizmo_calc_rect_view_scale --
needs more investigation], but instead of breaking it for Light, Image
and Compositor Backdrop, lets just compensate by scaling the Camera
Border Gizmo for now.

Maniphest Tasks: T74278

Differential Revision: https://developer.blender.org/D6991
2020-03-02 15:21:07 +01:00
Brecht Van Lommel
318112379d Objects: make evaluated data runtime storage usable for types other than mesh
This is in preparation of new object types. This only changes mesh_eval, we
may do the same for mesh_deform_eval and other areas in the future if there is
a need for it.

This previously caused a bug in T74283, that should be fixed now.

Differential Revision: https://developer.blender.org/D6695
2020-02-28 13:49:35 +01:00
da1140f75e Revert "Objects: make evaluated data runtime storage usable for types other than mesh"
This reverts commit f2b95b9eae.

Fix T74283: modifier display lost when moving object in edit mode.

The cause is not immediately obvious so better to revert and look at this
carefully.
2020-02-28 13:01:02 +01:00
Brecht Van Lommel
f2b95b9eae Objects: make evaluated data runtime storage usable for types other than mesh
This is in preparation of new object types. This only changes mesh_eval, we
may do the same for mesh_deform_eval and other areas in the future if there is
a need for it.

Differential Revision: https://developer.blender.org/D6695
2020-02-27 15:25:35 +01:00
830a45a18a Improve usage of recent golden ratio define
- fix typo
- set back to conjugate value and use as such

Followup to rB95175c3b5e2b.
2020-02-27 10:54:38 +01:00
4952fb1669 Fix T54323: Improve Paint category names in keymap preferences
While one issue of the report was fixed already (rB27adc4aa3347), still a
couple of clarifications could be made:
- correct/clarify which modes these apply to
- clarify that "Face Mask" is a paint thing

Maniphest Tasks: T54323

Differential Revision: https://developer.blender.org/D6797
2020-02-27 10:11:23 +01:00
95175c3b5e Fix T74236: Golden ratio in camera composition guides is not working
Caused by 52da1b6e2b (where it was switched from a value to a define -
but the define was wrong...)
2020-02-26 17:24:22 +01:00
Julian Eisel
fc81eb74e7 Mantaflow: Address precompiler warning and related cleanup
* Address warning because of undefined OPENVDB usage
* Remove unused WITH_FLUID definitions

Differential Revision: https://developer.blender.org/D6919
2020-02-24 13:01:13 +01:00
a74f0dc0e3 Cleanup: declatatuons for functions that don't exist 2020-02-20 11:22:14 +11:00
b117b8e818 Fix T73793 Walk navigation crosshair gets hidden behind objects
This is a bug that the recent refactor exposed. Some widgets were drawing
with alpha set to 0.
2020-02-17 22:39:33 +01:00
d119e163d0 Fix many typos and other issues in UI messages. 2020-02-17 13:01:07 +01:00
35e3dc9192 Keymap: move weight & vertex paint handling before pose mode
This is needed so pose keymap doesn't override weight paint,
which currently prevents the weight paint context menu from showing.

Logically pose mode is secondary when used in combination with
weight paint, so evaluate it afterwards.

Also move vertex paint keymap since they have a lot in common,
it's simpler to keep them evaluated at the same place.

Resolves T73384
2020-02-15 18:59:46 +11:00
57511782cf Cleanup: duplicate calls to add keymap handlers 2020-02-15 18:46:54 +11:00
52da1b6e2b Cleanup: use define for golden ratio
Move from workbench_private.h where it wasn't used.
2020-02-15 15:24:03 +11:00
Julian Eisel
60e823fe22 Cleanup: Rename ED_region_tag_redraw_overlay() to ED_region_tag_redraw_cursor()
Old name was a bit confusing/misleading, esp. since previous commit.
2020-02-14 15:59:30 +01:00
Julian Eisel
c4b9cb0af0 UI: Allow gizmo-only redraw tagging
NOTE: This change shouldn't have any visible effect. It's just the
first (easiest) step towards decoupling gizmo redraws from viewport
redraws.

We currently redraw the entire region whenever a gizmo needs redrawing,
which would be nice to avoid in the future, see T73198. The first step
towards this would be having a separate tag for them, which is what
this patch implements.
The term "editor-overlays" was chosen because for the forseeable future,
we'll also have to redraw non-gizmo overlays in-between drawing 3D and
2D gizmos. Namely annotations.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6838
2020-02-14 15:59:30 +01:00
efbe4fd6c2 Merge branch 'blender-v2.82-release' 2020-02-11 11:46:04 -03:00
c939b4df18 Fix Attempt to free NULL pointer
Assert when snapping `Selection to ...` but without objects.
Missed in the last commit.
2020-02-11 11:45:07 -03:00
dac4e48bb7 Fix Attempt to free NULL pointer
Assert when snapping `Selection to ...` but without objects.
2020-02-11 11:25:36 -03:00
56116bbdf4 Cleanup/refactor: Rename BKE_library files to BKE_lib.
Note that `BKE_library.h`/`library.c` were renamed to
`BKE_lib_id.h`/`lib_id.c` to avoid having a too generic name here.

Part of T72604.
2020-02-10 13:00:42 +01:00
a605775298 Tracking: Fix usage PLACEHOLDER function
Don't use BKE_view_layer_context_active_PLACEHOLDER which is marked
as "never use this".

In fact, it isn't needed to lookup for camera in the tracking function
at all: camera object is always explicitly passed to it.
2020-02-10 12:48:45 +01:00
8e981efe38 3D View: support axis views with axis-aligned roll
Previously any of the named views could not have any roll,
this commit supports roll as long as it's axis-aligned (90,180,270 deg).

This is useful for snapping to views,
an improvement on cebd025e02.
2020-02-10 01:50:23 +11:00
Bataev Artem
cebd025e02 3D View: check view quaternion alignment which orbiting
This makes auto-perspective work as expected
when orbiting out of a snapped view.
2020-02-09 11:37:56 +11:00
6f3e498e7d Cleanup: use of 'unsigned'
- Replace 'unsigned' used on it's own with 'uint'.
- Replace 'unsigned const char' with 'const uchar'.
2020-02-08 01:02:18 +11:00
80415ee203 Cleanup: remove legacy OpenGL viewport clipping code 2020-02-08 00:38:40 +11:00
Dalai Felinto
f2695c9c1d Cleanup: Remove view3d_draw_legacy.c
This file was originally a placeholder for all the old functions that
have not yet been ported to the new draw system. Over time all the
functions that needed refactor were gone, and the functions here are
still needed.

While moving the functions around I removed dead code and made sure the
existent comments start with a capital letter and end with a full stop.
2020-02-07 11:50:48 +01:00
5c8f8a7403 Merge branch 'blender-v2.82-release' 2020-02-04 22:20:58 +11:00
3dde6360ff Fix T65306: UI widgets clipped when scaled up
Normal UI widget and 3D navigation gizmo where clipping at high DPI.
2020-02-04 22:19:28 +11:00
5206124ce1 Merge branch 'blender-v2.82-release' 2020-02-03 15:29:48 +11:00
Yevgeny Makarov
f51286cb8c UI: fix blurring of bitmap icons for the navigation gizmo 2020-02-02 19:28:33 +11:00
0a09fe7831 Merge branch 'blender-v2.82-release' 2020-02-02 18:09:35 +11:00
07df76496d Fix error showing viewport units
Out of bounds buffer unit-system index with zoomed out viewport.
2020-02-02 18:01:49 +11:00
26d0f7ed23 Merge branch 'blender-v2.82-release' 2020-02-01 13:40:07 +11:00
3ba5461af0 Object: support 'Affect Parents' for snap/clear transform
Resolves T69450
2020-02-01 13:34:27 +11:00
ddda73b98a Cleanup: warnings, clang-format 2020-01-28 11:43:42 +11:00
4aa703aa14 UI: View3D Cursor Changes
Changes the default View3D mouse cursor to the OS-supplied arrow pointer. Subsequent cursor changes will now be set per-tool instead.

Differential Revision: https://developer.blender.org/D6485

Reviewed by Campbell Barton
2020-01-24 12:17:57 -08:00
Bataev Artem
ddda1af97a 3D View: support auto-perspective when snapping
Part of D6639
2020-01-22 08:00:05 +11:00
6cfdd882d7 Merge branch 'blender-v2.82-release' 2020-01-22 02:58:31 +11:00
8d163d5976 Docs: describe turn-table gimble lock mitigation 2020-01-22 02:53:38 +11:00