Commit Graph

5194 Commits

Author SHA1 Message Date
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
ca4e8b423e Cleanup: simplify wmEvent tablet data storage and naming
Removing meaningless distinction between NULL pointer and EVT_TABLET_NONE,
and initialize pressure and tilt to 1.0 and 0.0 respectively when no tablet
is used.
2020-01-21 12:22:24 +01:00
c0793d6629 Fix T72419: 3D cursor placement flips axis with geometry orientation 2020-01-15 20:10:58 +11:00
df36e1c5dd Fix T71091: Object restrict selection conflicts with pose selection
Support pose bone selection when the object has hide_select enabled.

This is consistent with how all other modes work.
2020-01-15 17:09:52 +11:00
0187735eea Fix T70606: 3D cursor oriented by geometry projects on objects displayed as bounds box and wire 2020-01-14 10:46:26 -03:00
7eaed14fae Fix T72948: Smooth active tool gizmo vibrates 2020-01-10 13:08:43 +11:00
a32ee63660 Fix T72919: NDOF 'Free' orbit preference is ignored
Regression from 6288dbffb6.
2020-01-08 14:30:47 +11:00
b423b89127 Tool System: enable fallback tool by default
This defaults to selection when not using a gizmo.
The previous behavior to drag anywhere can be set in the tool settings
or by selecting the fallback tool (Alt-W).

See: T66304
2020-01-03 14:04:11 +11:00
Jeroen Bakker
79476a9c0a Tracking: Selection Crash
Blender crashes when selecting a marker in the 3d viewport that is from the non active scene camera. This patch will solve this crash, but introduced a new scenario that isn't thought out. In the new scenario it is still hard to select a marker via the 3d viewport.

I would expect that when selecting a marker in this case would select the camera where the marker belongs to and select the marker that is under the mouse button.

Reviewed By: Sergey Sharybin

Differential Revision: https://developer.blender.org/D6360
2019-12-30 09:22:04 +01:00
3e1dc56365 Object: 'Affect Only Origins' support for Snapping 2019-12-24 16:01:08 +11:00
c1f6a49ae4 Fix snapping pose mode bugs
- Object/pose checks were performed in same loop,
  so selected pose bones were moved instead of the object.
- Snap selected to cursor/active incorrectly used unique object-data.
2019-12-24 15:55:35 +11:00
0bc964c93d Cleanup: use doxy sections for view3d_snap 2019-12-24 15:55:25 +11:00
d591c8a350 Gizmo: add the ability to postpone refreshing while tweaking
This resolves a logical problem using tweak as a fallback tool.
See: T66304#828742

The select action would immediately show the gizmo underneath it,
then the tweak would be handled by the gizmo instead of moving the item
under the cursor.

Currently this works by hiding the gizmo until the tweak event ends.
While it's simpler to check if the gizmo received a mouse-down event,
it causes flickering before each drag event which feels like a glitch.

This is optional for each gizmo type because there are cases where this
can be useful to activate the gizmo immediately (mesh rip for example).
2019-12-19 01:53:15 +11:00
8ebc6be43d Cleanup: de-duplicate tool gizmo 2019-12-17 16:30:39 +11:00
aa1af7f8e4 Fix T72416: Tool settings ignored when activated from gizmo 2019-12-17 14:55:41 +11:00
d27ccf990c Mantaflow [Part 6]: Updates in /blender/source
A collection of smaller changes that are required in the /blender/source files. A lot of them are also due to variable renaming.

Reviewed By: sergey

Maniphest Tasks: T59995

Differential Revision: https://developer.blender.org/D3855
2019-12-16 16:37:01 +01:00
6fc016d963 Gizmo: fix button 2D hotspot size
Happened when used in 2D view.
2019-12-13 15:52:39 +11:00
123744e432 Cleanup: unused function, spelling 2019-12-13 09:06:57 +11:00
Dalai Felinto
31a3b57037 Cleanup: Fix typo in user preference code 2019-12-12 14:12:07 +01:00
7878adf49c DrawManager: Disable Clipping in material/rendered mode
Viewport: Disable Clipping For EEVEE and External Renderers

Currently it is possible that, when using viewport clipping, the display and tools communicate
different information to the user then the renderer does. The reason is
that the renderer does not support viewport clipping. Both EEVEE and
Cycles do not support it.

This patch will disable the clipping in all the tools and drawing code
when the viewport drawing mode is `Material Preview` or `Rendered`.

This patch introduces a `RV3D_CLIPPING_ENABLED` util that checks if
clipping is enabled for the given `rv3d` and `v3d`. Also in places where
it was needed we added the `ViewContext` as a carrier for the `View3D`
and `RegionView3D`.

There are a few areas in the tooling (select, projection painting) that
still needs to be tackled after this patch.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6047
2019-12-11 16:58:14 +01:00
8b512414c5 Preferences: correct experimental flag use
Add utilities for checking when experimental features
should be used.
2019-12-07 13:20:37 +11:00
6ffcddc10a Tool System: experimental fallback tool support
Implement T66304 as an experimental option,
available under the preferences "Experimental" section.

- When enabled most tools in the 3D view have a gizmo.
- Dragging outside the gizmo uses the 'fallback' tool.
- The fallback tool can be changed or disabled in the tool options
  or from a pie menu (Alt-W).
2019-12-07 06:03:00 +11:00
15abc9fe74 Draw: Removal of MultiSample Buffers
Multisample buffers were used for smooth line drawing. As we now have
an algorithm that doesn't need the multisample buffers we can remove
them.

The user preference for viewport multi_sampling is replaced by single
toggle overlay `use_overlay_smooth_wire`. By default this setting is
enabled as the new drawing is really quick (<1ms) and uses zero hacks.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6367
2019-12-06 07:45:07 +01:00
6d79ebebc5 Cleanup: remove unused NDOF icons 2019-11-30 18:52:32 +11:00
caca7e5162 Cleanup: replace macros with functions 2019-11-29 18:46:46 +11:00
0a3339456b 3D View: fix NDOF rotation around object locking pan 2019-11-29 18:32:20 +11:00
320d8ab155 EEVEE: Viewport Renderpasses
This patch will allow the user to select the EEVEE renderpass to be
shown in the viewport by default the combined pass will be shown.

Limitations:

* Viewport rendering stores the result in a `RenderResult`. RenderResult
  is not aware of the type of data it holds. In many places where RenderResult
  is used it is assumed that it stores a combined pass and the display+view
  transform are applied.

  I will propose to fix this in a future patch. But that is still being
  designed and discussed.

Reviewed By: fclem

Differential Revision: https://developer.blender.org/D6319
2019-11-28 09:12:28 +01:00
6288dbffb6 NDOF: support panning when orbiting
Also make orbit the default rotation mode.

Based on feedback from T67579, this seems one of the main
pain points users are experiencing.
2019-11-28 15:09:27 +11:00
249f4423ee Cleanup: doxygen comments
Also correct some outdated symbol references,
add missing 'name' commands.
2019-11-25 01:51:11 +11:00
ace5677ef0 Cleanup: spelling, repeated words 2019-11-25 00:55:11 +11:00
7f17ac71e1 Merge branch 'blender-v2.81-release' 2019-11-08 19:18:51 +11:00