Commit Graph

87342 Commits

Author SHA1 Message Date
Alexander Gavrilov
3f788eacee RNA: provide access to the vertex index array of the Hook modifier.
This allows creating hooks completely without the use of operators.
Also fix subtarget to actually recompute the inverse matrix.

In order to follow the vertex_indices_set function naming convention,
it is necessary to fix makesrna to avoid a naming conflict between
the function wrapper and the property accessor by adding a tag.

Differential Revision: https://developer.blender.org/D4798
2019-05-07 10:55:34 +03:00
Philipp Oeser
86e14463d2 Fix T64232: crash on Weight from Bones redo 2019-05-07 09:49:51 +02:00
Campbell Barton
5ba6dbfb18 Fix graph editor selection tolerance ignoring DPI 2019-05-07 17:33:04 +10:00
Jeroen Bakker
4d78f5a4a7 DrawManager: External Engines + Overlays
Do not iterate over degsgraph when overlays are turned off and
rendering via an external engine. External engines sync data
from Blender differently. The external engine
draws the depth buffer, but that is only needed for overlays.

Reviewers: fclem, brecht

Differential Revision: https://developer.blender.org/D4791
2019-05-07 09:26:44 +02:00
Campbell Barton
3482aebf8d Theme: set dark grey for line number background
This color is also used for the right margin,
so use a color that contrasts with the background.

Also use 2x width line.
2019-05-07 17:18:18 +10:00
Campbell Barton
73e7c9d589 Fix T64230: Crash on weight paint gradient redo 2019-05-07 15:14:30 +10:00
Campbell Barton
0e2bafccf7 Cleanup: improve transform data sorting function
Replace comments on caller with more meaningful name.
2019-05-07 13:08:18 +10:00
Campbell Barton
fb26b6ac86 Fix T64130: Bezier curve vanishes on transform 2019-05-07 12:59:47 +10:00
Campbell Barton
fe5491898b Clanup: clang-format 2019-05-07 12:34:32 +10:00
Campbell Barton
bfef3bce1a Keymap: double click to close cut
Restore from 2.7x (lost when migrating to migrating keymap to Python).
2019-05-07 10:16:45 +10:00
Campbell Barton
619b9e9d81 Cleanup: typo, tweak proportional edit check 2019-05-07 10:06:00 +10:00
Clément Foucault
ddb71e8c20 DRW: Remove is_negative_m4 per draw call
This had some cost in perf and is not needed most of the time. If the
drawcall really needs it, it should use a correct ob pointer.
2019-05-06 22:33:05 +02:00
Clément Foucault
ff90589966 Cleanup: Eevee/Workbench: Remove non-needed matrix inversion
Theses are garanteed by the depsgraph now.
2019-05-06 22:33:05 +02:00
Clément Foucault
55bf2adbea DRW: Attempt to fix slowdown caused by gizmo drawing 2019-05-06 22:33:05 +02:00
Clément Foucault
bd340a0e1f Cleanup: GPUMaterial remove unused struct members 2019-05-06 22:33:05 +02:00
Clément Foucault
8b6afcb67b Cleanup: Eevee: Remove comment about vcol support in sculpt mode 2019-05-06 22:33:05 +02:00
Alexander Gavrilov
50999f7fb0 Maintain Volume: introduce an option switching between modes.
After a lot of thinking about this, I decided that all operation modes
that I've tried over the past couple of years, including the original
2.79 one, have their uses after all. Thus the only reasonable solution
is to add yet another option.

The modes are:

- Strict: The current 2.80 mode, which overrides the original scaling
  of the non-free axes to strictly preserve the volume. This is the most
  obvious way one would expect a 'Maintain Volume' constraint to work.

- Uniform: The original 2.79 mode, which assumes that all axes have been
  scaled the same as the free one when computing the volume. This seems
  strange, but the net effect is that when simply scaling the object
  uniformly with S, the volume is preserved; however, scaling the non-
  free axes individually allows deviating from the locked volume.
  This was obviously intended as a more or less convenient UI tool.

- Single Axis: My own variant of the intent of the Uniform scale, which
  does volume-preserving if the object is scaled just on the Free axis,
  while passing the non-free axis scaling through. I.e. instead of
  uniform S scaling, the user has to scale the object just on its
  primary axis to achieve constant volume. This can allow reducing the
  number of animation curves when only constant volume scaling is needed,
  or be an easier to control tool inside a complex rig.
2019-05-06 21:55:20 +03:00
William Reynish
df1d990b68 UI: Offset checkbox in the Outliner filter popover
Aligned with the other checkboxes
2019-05-06 20:54:35 +02:00
Bastien Montagne
0f064144f3 Node select: refactor, fix some inconsistent behaviors in socket selection.
Refactor a bit node selection code, mostly in the socket selection in
one place 'extend' logic usage was inverted, deselection of other
sockets/nodes was not working properly.

Also now make node active when selecting a socket, this makes more sense
and makes the NODE_OT_link_viewer macro much more useful (this is the
only user of the 'socket select' feature currently, afaics).
2019-05-06 20:37:12 +02:00
Antonioya
6da953ad1d GPencil: Verify Brush has GPencil data
This avoid errors in old files.
2019-05-06 20:34:24 +02:00
Brecht Van Lommel
fb3e138cee Tests: add Eevee reference images, and add workbench tests
Being able to compare Eevee reference images is useful for refactoring I'm
working on so might as well add them now, even if we can still improve them.

Workbench tests are just rendering the same files as Cycles and Eevee. This
doesn't really tests many workbench settings until we add tests specifically
for them, but does cover how it it handles the different object types.
2019-05-06 20:10:08 +02:00
William Reynish
51f222f91d Fix: T64213 Properties Editor Icon Colors are wrong for Text and Light Probes 2019-05-06 19:44:33 +02:00
Alexander Gavrilov
89724c03dc Fix T64111: add a NULL check to avoid crash with bad constraint subtarget. 2019-05-06 20:31:22 +03:00
Brecht Van Lommel
c0432c2385 Fix T63046, T61413: crash reading paint slots from 32 bit .blend on 64 bit
Thanks to matc for helping to find this, it was writing the paint slots wrong.
2019-05-06 18:39:33 +02:00
Alexander Gavrilov
1854cccad7 Drivers: add an Average Scale option to the Transform Channel driver vars.
Unlike location and rotation, there is a meaningful definition of
overall/average scaling via the total change in the volume. This
adds an option to retrieve that via a single driver variable,
instead of having to use three and an expression.

Using the determinant to compute the volume scaling also allows
detecting flipping due to negative scale - this is impossible
to do via the three variable approach.

The volume_scale functions are added purely for code readability:
'volume scale factor' is easier to understand than determinant.

Differential Revision: https://developer.blender.org/D4803
2019-05-06 19:03:26 +03:00
William Reynish
11d2c0b6f4 UI: Outliner Filter popover: Remove wrong use of icons
Missed this file from prior commit.
2019-05-06 17:33:04 +02:00
William Reynish
c07b9e23c8 UI: Add tooltips to the select tool modes
Especially needed now that they are just icons
2019-05-06 16:47:13 +02:00
Sergey Sharybin
4cdb4b9532 Fix T64161: Crashing using undo and multiple windows
It is possible that dependency graph was not yet initialized,
so need to do NULL pointer check.
2019-05-06 16:40:23 +02:00
William Reynish
958e00cebf UI: Use expanded icon row for Select tool modes 2019-05-06 15:59:34 +02:00
William Reynish
a23647e51b Industry Compat Keymap: Accept Knife tool with double-click
Suggested by users on Devtalk
2019-05-06 15:03:40 +02:00
Philipp Oeser
6a0c31af8a improve tooltip of ViewLayer.use
thx @Zoot (Gavin Scott) for spotting and providing better wording

Fixes T64157
2019-05-06 14:24:33 +02:00
Philipp Oeser
578ead77f9 remove unused T_LOCAL_MATRIX
- was introduced in rB844a17a3d9d2 but apparently never used
- spotted while looking into T57767

Reviewers: brecht

Differential Revision: https://developer.blender.org/D4805
2019-05-06 13:48:07 +02:00
Philipp Oeser
e9160eae95 Fix T64164: Resetting a curvemap could result in a mirrored curve
A template_curve_mapping with brush=True was always resetting the curve
to a positive slope (descending from left to right).
Behaviour is now changed so that specifying "use_negative_slope" is
taken into account as well.

Also use this for:
- paint "cavity_curve"
- gpencil "curve_sensitivity" / "curve_strength" / "curve_jitter" /
"interpolation_curve"

Reviewers: brecht

Maniphest Tasks: T64164

Differential Revision: https://developer.blender.org/D4809
2019-05-06 13:44:22 +02:00
William Reynish
d7ffb5cb0b UI: Remove wrong use of icon for Rename Active Item 2019-05-06 13:42:06 +02:00
William Reynish
0f3f78e2b9 UI: Outliner Filter popover layout
- Use checkboxes with aligned text
  - Use icons next to the checkboxes
  - Remove wrong use of icons
  - Better grouping
2019-05-06 13:40:51 +02:00
Sergey Sharybin
064273a4ae Sound: Port more cases to be a part of dependency graph
Mainly covers RNA callbacks which were still doing direct scene update,
which was causing crashes. Now corresponding ID_RECALC flags are used,
so all scenes can update accordingly.

Also tested animated volume/pitch on strips, which now works as well.

Fixes T64133: Assert after changing FPS
Fixes T64154: Immediate crash when changing the current frame on the timeline
Fixes T64185: Client Crashes when the frame position value is changed
Fixes T64190: Blender Crash using Timeline Editor
Fixes T64128: Click to close bug type on timeline
Fixes T64147: Crash when setting current frame from Python
Fixes T64152: Blender Auto-Close on timeline change
2019-05-06 12:54:16 +02:00
Brecht Van Lommel
2c0da4a3db Color management: add functions to detect scene linear and sRGB color spaces
Same as the ones in Cycles, but intended for GPU textures.
2019-05-06 12:05:44 +02:00
Brecht Van Lommel
8794779a2d Fix error running Eevee render tests 2019-05-06 12:04:08 +02:00
Brecht Van Lommel
b6bf4bda27 UI: disable colored icons in menus for now
Only a few icons are colored, which caused some random icons to be colored and
others not. We can add it back for specific menus later (like add object or
modifiers).
2019-05-06 11:58:47 +02:00
William Reynish
defc901467 UI: File Browser bookmarks panels
- Group these together in sub-panels
  - Use much clearer naming
  - Close Volumes and Recents by default
2019-05-06 11:56:55 +02:00
William Reynish
de430dd1ec UI: Icons update
New icons from Andrzej Ambroż / jendrzych:

  - New icons for select tool modes
  - Brought back screen icon for viewport visibility toggles
  - Added new Instanced visibility toggle (unused currently - meant for forthcoming updates to the Outliner)
  - New Gizmo icon for the header
  - Many tweaks and alterations to existing icons. Full list on Devtalk
  - Use correct icon when Proportional Editing is disabled
2019-05-06 11:54:46 +02:00
Sergey Sharybin
2e582f8ab5 Sound: Fix access wrong dependency graph
Due to some fields in the context being NULL access was happening
to the default view layer, not the active one.

Simply re-arranged context initialization, so it happens before
accessing dependnecy graph.

Fixes T64183: Crash in BKE_sound_scene_playing due to Scene NULL
Fixes T64192: Crash opening a file with a non-default View Layer active
2019-05-06 11:32:01 +02:00
Sergey Sharybin
22e9365e8b Depsgraph: Fix wrong comment 2019-05-06 10:12:23 +02:00
Sebastian Parborg
09181540b5 Implement mirroring in pose mode (absolute and relative)
Added working X-mirroring in pose mode with an optional relative mirror
mode.

Reviewed By: Campbell Barton

Differential Revision: http://developer.blender.org/D4765
2019-05-06 09:47:45 +02:00
Campbell Barton
f999c40d77 Fix T64178: Invisible image 2D cursor
Own error in 928becec60, move cursor drawing to single location.
2019-05-06 12:55:54 +10:00
Campbell Barton
0ddec50944 Cleanup: clang-format 2019-05-06 11:59:03 +10:00
William Reynish
90f8f5cb06 UI: Tooltips
- Add missing tooltips to Quick Effects and Subdivide Edge Ring
  - Add proper tooltip to the Bevel operator
  - Clearer tooltips for the extrude operators

Plus a few other tweaks

Suggested by users on Devtalk.
2019-05-05 21:36:12 +02:00
William Reynish
1dd78a3f57 Industry Compat keymap: Remove ability to cancel knife with right click.
Was too easy to do by mistake while attempting to zoom.

Unfortunately it seems like it's not currently possible to add zooming to the Knife modal keymap, so this is still missing here.
2019-05-05 20:49:25 +02:00
Alexander Gavrilov
c7ec6bb748 RNA: add an Object method to clear all shape keys for completeness.
This matches bpy.ops.object.shape_key_remove(all=True) in behavior.
2019-05-05 19:34:30 +03:00
William Reynish
2c92900a47 Industry Compat Keymap: Fix Select All operators in the Info Editor
Patch by Valentin (Poulpator)

Differential Revision: https://developer.blender.org/D4746
2019-05-05 17:42:18 +02:00