blender.git
12 months agoGPU: Add AMD Radeon RX series to macos blitting workaround list
Clément Foucault [Wed, 28 Nov 2018 12:19:04 +0000 (13:19 +0100)]
GPU: Add AMD Radeon RX series to macos blitting workaround list

Fixes T55987

12 months agofix:T58093 Collada Exporter does not create bind_vertex_input and texcoord attribute
Gaia Clary [Wed, 28 Nov 2018 14:27:11 +0000 (15:27 +0100)]
fix:T58093 Collada Exporter does not create bind_vertex_input and texcoord attribute

The Collada exporter used MTFACE layers (deprecated) instead of
CD_MLOOPUV layers. In 2.8 the exporter could no longer find the UVMaps
reliably.

12 months agoMerge branch 'master' into blender2.8
Sergey Sharybin [Wed, 28 Nov 2018 13:42:38 +0000 (14:42 +0100)]
Merge branch 'master' into blender2.8

12 months agoTweaks for threading schedule for Threadripper2 and EPYC
Sergey Sharybin [Tue, 27 Nov 2018 17:21:43 +0000 (18:21 +0100)]
Tweaks for threading schedule for Threadripper2 and EPYC

The idea is to make main thread and job threads to be scheduled
on CPU dies which has direct access to memory (those are NUMA
nodes 0 and 2).

We also do this for new EPYC CPUs since their NUMA nodes 1 and 3
do have access but only to a higher range DDR slots. By preferring
nodes 0 and 2 on EPYC we make it so users with partially filled
DDR slots has fast memory access.

One thing which is not really solved yet is localization of
memory allocation: we do not guarantee that memory is allocated
on the closest to the NUMA node DDR slot and hope that memory
manager of OS is acting in favor of us.

12 months agoAdd utility function to query CPU brand string
Sergey Sharybin [Tue, 27 Nov 2018 16:28:36 +0000 (17:28 +0100)]
Add utility function to query CPU brand string

12 months agoAdd cross-platform NUMA library
Sergey Sharybin [Tue, 27 Nov 2018 16:13:54 +0000 (17:13 +0100)]
Add cross-platform NUMA library

Makes it simple to use NUMA libraries on various platforms.

12 months agoOutliner/visibility: revert changes for now until we find better solutions.
Brecht Van Lommel [Wed, 28 Nov 2018 13:05:08 +0000 (14:05 +0100)]
Outliner/visibility: revert changes for now until we find better solutions.

See T57857 for discussion. This reverts:

"Outliner: Do not gray out empty collections"
4521d3e7074d2e08ca813e1f4a2297f5000f335b.

"Remove eye column from the outliner"
fd16b359977c8932ada8db4ff0e43d0402fdc280.

Fix/workaround issues in pose and edit mode"
6d2e2e30d50c40f302b62d3601b5742d7c7056c6.

"Per view-layer collection visibility"
4de6a210c69fe254518ca8d6c860782c54f03749.

12 months agoFix defined but unused static variable warning
Sergey Sharybin [Wed, 28 Nov 2018 13:13:42 +0000 (14:13 +0100)]
Fix defined but unused static variable warning

12 months agoUI: rename settings back to preferences.
Brecht Van Lommel [Wed, 28 Nov 2018 11:21:49 +0000 (12:21 +0100)]
UI: rename settings back to preferences.

This distinguishes it better for the many other types of settings.

Ref T54115.

12 months agoTool System: support for dynamic tooltips
Campbell Barton [Wed, 28 Nov 2018 12:52:05 +0000 (23:52 +1100)]
Tool System: support for dynamic tooltips

Tools can define a function that generates the tooltip using a function,
this takes the tools keymap as an argument which can be used
to extract keys to include in the tip.

12 months agoPyAPI: add KeyMapItem.to_string() method
Campbell Barton [Wed, 28 Nov 2018 12:24:10 +0000 (23:24 +1100)]
PyAPI: add KeyMapItem.to_string() method

Useful for generating dynamic tooltips that include shortcuts.

12 months agoDefaults: left click select is now the default.
Brecht Van Lommel [Tue, 27 Nov 2018 15:09:02 +0000 (16:09 +0100)]
Defaults: left click select is now the default.

A few reasons motivating this change:
* It works well for all devices: mouse, trackpad, and tablet pens.
* For beginners or users coming from other software, it's easier to get
  started and avoids an initial stumbling block.
* Many users in 2.7 (about half?) were already using left click select, so
  combined with the above advantages it makes for a practical default.

Note that we continue to support right click select, as many experienced
Blender users (and developers) see efficiency advantages in this approach.

The option to switch is in the first time setup splash screen, and in the
user preferences.

12 months agoFix curve stats when using modifiers.
Bastien Montagne [Wed, 28 Nov 2018 10:21:56 +0000 (11:21 +0100)]
Fix curve stats when using modifiers.

Curve/surface/text final data may be an evaluated mesh instead of a
displist, when some modifiers (constructive ones in particular) are
applied to it.

Note that this is just getting feet wet, whole draw code suffers from
the same issue! :P

12 months agoFix/workaround issues in pose and edit mode
Sergey Sharybin [Wed, 28 Nov 2018 09:36:07 +0000 (10:36 +0100)]
Fix/workaround issues in pose and edit mode

Edit mode was unable to select, pose mode was unable to move bones.

12 months agoFix crash entering editmode
Campbell Barton [Wed, 28 Nov 2018 09:26:07 +0000 (20:26 +1100)]
Fix crash entering editmode

12 months agoTransform: use scene-orientation for MMB axis constraint
Campbell Barton [Wed, 28 Nov 2018 08:48:19 +0000 (19:48 +1100)]
Transform: use scene-orientation for MMB axis constraint

Follows the change made for axis keys.

12 months agoCleanup: quiet keymap float compare warning
Campbell Barton [Wed, 28 Nov 2018 06:50:44 +0000 (17:50 +1100)]
Cleanup: quiet keymap float compare warning

12 months agoCleanup: remove missing operator from UI
Campbell Barton [Wed, 28 Nov 2018 06:48:26 +0000 (17:48 +1100)]
Cleanup: remove missing operator from UI

12 months agoTool System: add node links cut tool
Campbell Barton [Wed, 28 Nov 2018 06:37:40 +0000 (17:37 +1100)]
Tool System: add node links cut tool

12 months agoCleanup: correct assert, remove redundant NULL checks
Campbell Barton [Wed, 28 Nov 2018 06:20:23 +0000 (17:20 +1100)]
Cleanup: correct assert, remove redundant NULL checks

12 months agoGizmo: fix compositor node crop w/ negative rectangles
Campbell Barton [Wed, 28 Nov 2018 06:00:27 +0000 (17:00 +1100)]
Gizmo: fix compositor node crop w/ negative rectangles

min/max could be negative, causing the gizmo to fail.

12 months agoCleanup: correct function signatures
Campbell Barton [Wed, 28 Nov 2018 05:21:24 +0000 (16:21 +1100)]
Cleanup: correct function signatures

12 months agoFix assert opening file selector
Campbell Barton [Wed, 28 Nov 2018 05:20:57 +0000 (16:20 +1100)]
Fix assert opening file selector

12 months agoPer view-layer collection visibility
Dalai Felinto [Wed, 28 Nov 2018 02:49:36 +0000 (00:49 -0200)]
Per view-layer collection visibility

We still control this in the viewport collections visibility menu. But
now we are actually changing the visibility of the collections, not of
the objects.

If a collection is indirectly invisible (because one of its parents are
invisible) we gray it out.

Also if you click directly in the collection names, it "isolates" the
collection by hiding all collections, and showing the direct parents and
all the children of the selected collection.

Development Note:

Right now I'm excluding the hidden collections from the depsgraph.
Thus the need for tagging relations to update.

If this proves to be too slow, we can change.

12 months agoOutliner: Do not gray out empty collections
Dalai Felinto [Wed, 28 Nov 2018 01:06:45 +0000 (23:06 -0200)]
Outliner: Do not gray out empty collections

We can still have a special icon for them, but graying out is not the way to go.

12 months agoRemove eye column from the outliner
Dalai Felinto [Wed, 28 Nov 2018 00:35:24 +0000 (22:35 -0200)]
Remove eye column from the outliner

To control per-viewlayer, per-object visiblity users should either use
the menu or the H shortcuts (H, Alt+H, Shift+H).

Following next will be to have proper per-viewlayer collection
visibility. This will replace the functionality currently at the
viewport collections visibility menu.

12 months agoCorrect error clearing runtime tool in recent commit
Campbell Barton [Wed, 28 Nov 2018 03:11:10 +0000 (14:11 +1100)]
Correct error clearing runtime tool in recent commit

12 months agoWM: remove tool initialization code
Campbell Barton [Wed, 28 Nov 2018 02:57:21 +0000 (13:57 +1100)]
WM: remove tool initialization code

Area initialization handles these cases now.

12 months agoWM: avoid re-initializing tools while resizing areas
Campbell Barton [Wed, 28 Nov 2018 02:50:15 +0000 (13:50 +1100)]
WM: avoid re-initializing tools while resizing areas

Every update caused the gizmo to be recreated.

12 months agoFix tool not being initialized switching windows
Campbell Barton [Wed, 28 Nov 2018 02:41:36 +0000 (13:41 +1100)]
Fix tool not being initialized switching windows

12 months agoRNA: disable animating sequence channel, lock
Campbell Barton [Wed, 28 Nov 2018 01:15:13 +0000 (12:15 +1100)]
RNA: disable animating sequence channel, lock

12 months agoScene: 3D cursor rotation wasn't initialized
Campbell Barton [Wed, 28 Nov 2018 00:50:46 +0000 (11:50 +1100)]
Scene: 3D cursor rotation wasn't initialized

12 months agoMissing from last commit
Campbell Barton [Wed, 28 Nov 2018 00:27:06 +0000 (11:27 +1100)]
Missing from last commit

12 months agoCleanup: remove unused app-template flag
Campbell Barton [Wed, 28 Nov 2018 00:17:08 +0000 (11:17 +1100)]
Cleanup: remove unused app-template flag

12 months agoCleanup: style
Campbell Barton [Wed, 28 Nov 2018 00:18:09 +0000 (11:18 +1100)]
Cleanup: style

12 months agoLocal View: Objects to be selected once back to regular view
Dalai Felinto [Wed, 28 Nov 2018 00:17:23 +0000 (22:17 -0200)]
Local View: Objects to be selected once back to regular view

They were already selected, but we needed to bump depsgraph.

12 months agoTool System: remove custom tool registration
Campbell Barton [Tue, 27 Nov 2018 23:40:02 +0000 (10:40 +1100)]
Tool System: remove custom tool registration

API is not ready for beta (likely to change).

12 months agoTransform: default to user-defined orientation
Campbell Barton [Tue, 27 Nov 2018 23:01:16 +0000 (10:01 +1100)]
Transform: default to user-defined orientation

Previously we tried this but reverted (see 64d40c82c324)
because there wasn't a predictable set of keys to use global-space.

Now the keys are swapped:

- 'GX' always transforms in the user defined orientation.
- 'GXX' always transforms in global space.

As before 'GXXX' cycles back to disabling constraints.

This does have a down side that GXX won't be used for local-space
when the user has global space set.
Also, when global is the user-orientation, pressing GX and GXX
does the same thing.

Note: examples here use GX but could be any transform-mode/axis.

12 months agoUI: Reduce amount of padding between VSE channels.
Pablo Vazquez [Tue, 27 Nov 2018 22:25:48 +0000 (23:25 +0100)]
UI: Reduce amount of padding between VSE channels.

Suggested by cezarfarias on RightClickSelect. Code snippet by MalDuffin.

12 months agoPrint filepath in message when saving userprefs
Campbell Barton [Tue, 27 Nov 2018 21:29:02 +0000 (08:29 +1100)]
Print filepath in message when saving userprefs

Was just printing 'ok' on success.

12 months agotransform_snap_object: Fix snap in edit mode.
mano-wii [Tue, 27 Nov 2018 20:23:13 +0000 (18:23 -0200)]
transform_snap_object: Fix snap in edit mode.

Do not use the texture space of a mesh to pretest the snap.
(The texture space is only really updated when you exit edit mode).

12 months agoKeymap: Change default spacebar action to play
Campbell Barton [Tue, 27 Nov 2018 19:57:25 +0000 (06:57 +1100)]
Keymap: Change default spacebar action to play

This has been a contentious topic: Artists at the Blender-Studio prefer
this behavior, while the user community overwhelmingly prefers 2.7x
operator search. Previously this defaulted to accessing tools
(eg: Space-T activates transform.. Space-R rotate etc) which I still
believe is a better long term default - otherwise we don't have
efficient tool switching for a system we intend to make more use of,
nevertheless as far as I can tell users haven't been keen on adopting
this so far. Show the preference on the setup screen since many users
don't animate and will may want to quickly search or switch tools.

12 months agoModifiers: fix bunch of missing 'self transform' deg relations.
Bastien Montagne [Tue, 27 Nov 2018 20:14:35 +0000 (21:14 +0100)]
Modifiers: fix bunch of missing 'self transform' deg relations.

When a modifier depends on some other object's position, then it also
depends in its own position, this has to be also told to depsgraph.

Fixes several modifiers where moving target would update the modifier,
while moving modified object itself would not.

12 months agoFix missing reset-to-NULL in own recent changes in modifiers utils.
Bastien Montagne [Tue, 27 Nov 2018 19:40:04 +0000 (20:40 +0100)]
Fix missing reset-to-NULL in own recent changes in modifiers utils.

12 months agoMOD_wave: fix various issues.
Bastien Montagne [Tue, 27 Nov 2018 19:36:54 +0000 (20:36 +0100)]
MOD_wave: fix various issues.

Missing dependsOnNormal callback, potential usage of NULL mesh
pointer, style...

12 months agoShrinkwrap: minor simplification of code.
Bastien Montagne [Tue, 27 Nov 2018 19:23:22 +0000 (20:23 +0100)]
Shrinkwrap: minor simplification of code.

12 months agoFix typos.
Bastien Montagne [Tue, 27 Nov 2018 19:17:27 +0000 (20:17 +0100)]
Fix typos.

12 months agoModifiers: cleanup/harmonize deform modifiers code re. mesh source.
Bastien Montagne [Tue, 27 Nov 2018 19:10:41 +0000 (20:10 +0100)]
Modifiers: cleanup/harmonize deform modifiers code re. mesh source.

Also fixes a few issues (like meshdeform's EM variant not using editmesh
data), and adds a few optimizations (like only generating that source
mesh when we do have a vgroup defined in parameters, for modifiers only
using it to access vgroup)...

12 months agoVGroup search: do not try to search for empty string.
Bastien Montagne [Tue, 27 Nov 2018 16:26:22 +0000 (17:26 +0100)]
VGroup search: do not try to search for empty string.

Vgroups always have a non-empty name, this is just loss of time...

12 months agoModifiers: Refactor `MOD_deform_mesh_eval_get()` helper a bit.
Bastien Montagne [Tue, 27 Nov 2018 16:21:16 +0000 (17:21 +0100)]
Modifiers: Refactor `MOD_deform_mesh_eval_get()` helper a bit.

Now that function also takes expected number of vertices, and do the
checks against generated mesh internally.

12 months agoMOD_simpledeform: do not compute mesh when not needed.
Bastien Montagne [Tue, 27 Nov 2018 14:49:30 +0000 (15:49 +0100)]
MOD_simpledeform: do not compute mesh when not needed.

Related to T57972.

12 months agoMOD_smooth: do not compute mesh when not needed.
Bastien Montagne [Tue, 27 Nov 2018 14:11:13 +0000 (15:11 +0100)]
MOD_smooth: do not compute mesh when not needed.

Related to T57972.

12 months agoMOD_smooth: do not compute mesh when not needed.
Bastien Montagne [Tue, 27 Nov 2018 13:26:43 +0000 (14:26 +0100)]
MOD_smooth: do not compute mesh when not needed.

Also fixes potential memory leak.

Related to T57972.

12 months agoCleanup: tweak ED_region_is_overlap checks
Campbell Barton [Tue, 27 Nov 2018 19:26:10 +0000 (06:26 +1100)]
Cleanup: tweak ED_region_is_overlap checks

12 months agoDocs: use float in bpy.app.timer examples
Campbell Barton [Tue, 27 Nov 2018 19:09:42 +0000 (06:09 +1100)]
Docs: use float in bpy.app.timer examples

Makes it clear seconds are not integers,
also avoids conversion to float.

12 months agoFix local view undo (T58051)
Dalai Felinto [Tue, 27 Nov 2018 18:42:56 +0000 (16:42 -0200)]
Fix local view undo (T58051)

Like in 2.7x we don't restore the previous view zoom.

This goes along the fact that we don't store viewport navigation
transformations either.

12 months agoFix localview duplicated objects not in localview
Dalai Felinto [Tue, 27 Nov 2018 16:52:01 +0000 (14:52 -0200)]
Fix localview duplicated objects not in localview

Following the behaviour present in Blender 2.7x, where if you duplicate
an object it will show in all the local views the original object was
visible.

12 months agoPartial fix for T57868, crash when using bevel from Python.
Howard Trickey [Tue, 27 Nov 2018 14:54:49 +0000 (09:54 -0500)]
Partial fix for T57868, crash when using bevel from Python.

These changes are necessary. Need to mark vertices of edges passed
in geom; also the normals.out slot has a custom element type, not
ELEM, so need to prevent attempt by python code to convert it to
an elem.  But this leaves a memory leak. I will rework code to not
use normals.out slot at all, but that's a bigger fix.

Now there is a crash in a different place (GPU code). Think that if
using Op on its own (instead of from edbm_bevel_calc, there needs to
be a dependency graph update and maybe more?

12 months agoWorkbench: Fix crash when enabling cavity
Clément Foucault [Tue, 27 Nov 2018 14:08:22 +0000 (15:08 +0100)]
Workbench: Fix crash when enabling cavity

12 months agoFix outliner click select with tablets, after recent changes.
Brecht Van Lommel [Tue, 27 Nov 2018 14:04:42 +0000 (15:04 +0100)]
Fix outliner click select with tablets, after recent changes.

12 months agoFix T58088: OpenSubdiv not enabled by default in macOS builds.
Brecht Van Lommel [Tue, 27 Nov 2018 13:40:25 +0000 (14:40 +0100)]
Fix T58088: OpenSubdiv not enabled by default in macOS builds.

12 months agoFix file browser click to select not working on tablets, after recent changes.
Brecht Van Lommel [Tue, 27 Nov 2018 13:17:10 +0000 (14:17 +0100)]
Fix file browser click to select not working on tablets, after recent changes.

The highlight on mousemove operator should not swallow events.

12 months agoUI: Bring back User Preferences entry in Editors list.
Pablo Vazquez [Tue, 27 Nov 2018 13:19:00 +0000 (14:19 +0100)]
UI: Bring back User Preferences entry in Editors list.

It's nonstandard and kind of weird, but it's nice when making keymaps, themes, quickly test things without spawning a new window.

12 months agoDRW: Implement Hair Weight drawing
Clément Foucault [Tue, 27 Nov 2018 12:49:00 +0000 (13:49 +0100)]
DRW: Implement Hair Weight drawing

Fixes T57931 Particle weight edit mode is not supported.

There is a bug that prevent refresh of the toolsettings on which is based
the weight / non-weight display selection (see T58086).

12 months agofix: Collada Exporter: improve usage of viewlayer and depsgraph
Gaia Clary [Tue, 27 Nov 2018 11:14:03 +0000 (12:14 +0100)]
fix: Collada Exporter: improve usage of viewlayer and depsgraph

* The exporter now gets the view layer from the context
  instead of the depsgraph.
* The depsgrap is now fetched only on demand since the graph
  is not always needed for exporting (currently only for armature exports).

12 months agoPython API Docs: Examples for new timer api
Jacques Lucke [Tue, 27 Nov 2018 10:31:35 +0000 (11:31 +0100)]
Python API Docs: Examples for new timer api

12 months agomake node editor tool region background transparent
Philipp Oeser [Tue, 27 Nov 2018 09:00:20 +0000 (10:00 +0100)]
make node editor tool region background transparent

followup to rB1944bca49a22c18b059d84daf56908b6e15591ad

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

12 months agoFix T57929: missing UI updates when changing active object
Philipp Oeser [Tue, 27 Nov 2018 09:24:48 +0000 (10:24 +0100)]
Fix T57929: missing UI updates when changing active object

was caused by NC_SCENE notifier being skipped with a non-scene reference
showed e.g. in timeline not updating keyframes/cachelines

Maniphest Tasks: T57929

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

12 months agoPython API: Fix partial build
Jacques Lucke [Tue, 27 Nov 2018 09:56:17 +0000 (10:56 +0100)]
Python API: Fix partial build

`gpu_extras` was always visible

12 months agoFix T57070: Take Two of 2.8 Crash in sculpting mode with tilling and Dyntopo.
Bastien Montagne [Tue, 27 Nov 2018 09:43:01 +0000 (10:43 +0100)]
Fix T57070: Take Two of 2.8 Crash in sculpting mode with tilling and Dyntopo.

Accessing ob->bb directly is not a good idea anyway.

Still, would like to know why/where this bbox is freed, since it is
allocated at least once by depsgraph eval, as part of
`BKE_object_handle_data_update()` function...

12 months agoTool System: use tools for node editor
Campbell Barton [Tue, 27 Nov 2018 07:39:29 +0000 (18:39 +1100)]
Tool System: use tools for node editor

12 months agoKeymap: share annotation tool keymaps between spaces
Campbell Barton [Tue, 27 Nov 2018 06:33:52 +0000 (17:33 +1100)]
Keymap: share annotation tool keymaps between spaces

Not sharing caused duplication in the keymap and
required a factory class generator.

Simplify tool & keymap definitions by sharing them.

It's highly unlikely we will ever want these to use different keys
once they're set as the active tool.

12 months agoRNA: expose access to B-Bone shape data from Python.
Alexander Gavrilov [Sat, 24 Nov 2018 12:12:24 +0000 (15:12 +0300)]
RNA: expose access to B-Bone shape data from Python.

B-Bone shape is a non-trivial computation, so access to
the results would be useful for Python scripts working with
B-Bones, e.g. rig generation.

This exposes both final segment matrices, and the tangent
vectors computed from the custom handle bones.

Since the handle tangents use the axis+roll orientation math
of edit bones, add matrix conversion static methods to Bone.

Reviewers: campbellbarton

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

12 months agoWM: add print for missing tool keymap
Campbell Barton [Tue, 27 Nov 2018 06:04:32 +0000 (17:04 +1100)]
WM: add print for missing tool keymap

Also correct function name (gizmo -> tool).

12 months agoCleanup: move non-toolbar panels out of the toolbar
Campbell Barton [Tue, 27 Nov 2018 04:23:12 +0000 (15:23 +1100)]
Cleanup: move non-toolbar panels out of the toolbar

12 months agoRevert "Fix texture space not updating in edit mode."
Campbell Barton [Tue, 27 Nov 2018 03:18:33 +0000 (14:18 +1100)]
Revert "Fix texture space not updating in edit mode."

This reverts commit 3a038db576e97c0e720a92af05a218ed71ed121a.

Caused CoW crash switching from edit to sculpt mode.

12 months agoRevert "Inline function BKE_mesh_boundbox_calc inside BKE_mesh_texspace_calc to avoid...
Campbell Barton [Tue, 27 Nov 2018 03:17:54 +0000 (14:17 +1100)]
Revert "Inline function BKE_mesh_boundbox_calc inside BKE_mesh_texspace_calc to avoid confusion."

This reverts commit e6322abad23a8ae71b72e54befffc17ae35e30d9.

12 months agoKeymap: restore 3D view center w/ cursor (Shift-C)
Campbell Barton [Tue, 27 Nov 2018 02:19:55 +0000 (13:19 +1100)]
Keymap: restore 3D view center w/ cursor (Shift-C)

Pablo Vazquez requests this back, an quick way to reset the cursor.

12 months agoKeymap: 3D view center to cursor operator
Campbell Barton [Tue, 27 Nov 2018 02:24:40 +0000 (13:24 +1100)]
Keymap: 3D view center to cursor operator

Addition to Alt-MMB-Drag orbit,
Alt-MMB-Click centers the view on the mouse.

12 months agoKeymap: add preference for spacebar to run operator search
Campbell Barton [Tue, 27 Nov 2018 02:14:09 +0000 (13:14 +1100)]
Keymap: add preference for spacebar to run operator search

12 months agoUI Theme: Transparent toolbar for UV/Image Editor and consistency tweaks.
Pablo Vazquez [Tue, 27 Nov 2018 01:13:59 +0000 (02:13 +0100)]
UI Theme: Transparent toolbar for UV/Image Editor and consistency tweaks.

Spotted by the community during a live stream!

12 months agoUI: Fix Set Origin via Specials menu not prompting options.
Pablo Vazquez [Tue, 27 Nov 2018 00:59:47 +0000 (01:59 +0100)]
UI: Fix Set Origin via Specials menu not prompting options.

12 months agoFix T58062: Missing redo panel
Campbell Barton [Tue, 27 Nov 2018 00:52:56 +0000 (11:52 +1100)]
Fix T58062: Missing redo panel

12 months agoMerge branch 'master' into blender2.8
Campbell Barton [Tue, 27 Nov 2018 00:41:33 +0000 (11:41 +1100)]
Merge branch 'master' into blender2.8

12 months agoFix T56872: Edge slide gives invalid normals
Campbell Barton [Tue, 27 Nov 2018 00:39:51 +0000 (11:39 +1100)]
Fix T56872: Edge slide gives invalid normals

Add the ability to skip overwriting normals.

12 months agoSilence warning (potentially misused twidth)
Dalai Felinto [Mon, 26 Nov 2018 23:54:29 +0000 (21:54 -0200)]
Silence warning (potentially misused twidth)

12 months agoFont textbox overflow: Different methods
Dalai Felinto [Wed, 12 Sep 2018 16:00:30 +0000 (13:00 -0300)]
Font textbox overflow: Different methods

Sometimes the text doesn't fit. What to do in this case?

* Overflow: The default behaviour still is to overflow the text.
* Truncated: If any text box is defined we can also not draw the text
  that goes outside the text boxes.
* Scale to Fit: For single-text box texts we can scale down the text until
  it fits.

To support textboxes we are bisecting the scale until we find a good
match. Right now the hardcoded iteration limit is 20, and the threshold 0.0001f.

An alternative in the future would be to tackle this by integrating existing
layout engines such as HarfBuzz.

Note: Scale to fit won't work for multiple text-boxes if any of them has
either width or height as zero.

Reviewers: campbellbarton
Differential Revision: https://developer.blender.org/D3874

Feature development sponsored by Viddyoze.

12 months agoFix crash iterating over empty view layer
Campbell Barton [Mon, 26 Nov 2018 23:25:29 +0000 (10:25 +1100)]
Fix crash iterating over empty view layer

12 months agofix: Collada exporter: take care of parent inverse for exports of Armatures with...
Gaia Clary [Mon, 26 Nov 2018 22:14:25 +0000 (23:14 +0100)]
fix: Collada exporter: take care of parent inverse for exports of Armatures with child objects

12 months agoFix: Collada Importer: Keep bindinfo option is not properly handled
Gaia Clary [Mon, 26 Nov 2018 22:11:29 +0000 (23:11 +0100)]
Fix: Collada Importer: Keep bindinfo option is not properly handled

Actually the option was not at all used and the importer always created the bindinfo custom properties.

12 months agofix: Collada: The limit precision option does nothing
Gaia Clary [Mon, 26 Nov 2018 22:05:55 +0000 (23:05 +0100)]
fix: Collada: The limit precision option does nothing

12 months agoGP: Correct Tonemapping for Blend Layers
Antonioya [Mon, 26 Nov 2018 21:52:28 +0000 (22:52 +0100)]
GP: Correct Tonemapping for Blend Layers

12 months agoGP: Make Multiply blend works with opacity
Antonioya [Mon, 26 Nov 2018 21:19:46 +0000 (22:19 +0100)]
GP: Make Multiply blend works with opacity

12 months agoCleanup: style, includes
Campbell Barton [Mon, 26 Nov 2018 21:00:49 +0000 (08:00 +1100)]
Cleanup: style, includes

12 months agoFix T57930 : Wrong hair shading in particle edit mode
Clément Foucault [Mon, 26 Nov 2018 19:34:04 +0000 (20:34 +0100)]
Fix T57930 : Wrong hair shading in particle edit mode

Implement strand selection visualisation but without any shading.

I think this is not the overlay job to draw the strands shaded.

We can already view the children strands shaded for now but we might add
an option to draw the shaded strand instead of (or in addition to) the
guide strand.

12 months agoDRW: Cleanup: Fix missing uniform warning in curve edit mode
Clément Foucault [Mon, 26 Nov 2018 14:34:39 +0000 (15:34 +0100)]
DRW: Cleanup: Fix missing uniform warning in curve edit mode

12 months agoDRW: Hair: Fix hairs not working properly with duplis
Clément Foucault [Mon, 26 Nov 2018 14:34:10 +0000 (15:34 +0100)]
DRW: Hair: Fix hairs not working properly with duplis

Fix T55355 Instanced hair not working well for EEVEE and workbench

12 months agoDRW: Add access to object dupli parent
Clément Foucault [Mon, 26 Nov 2018 14:23:16 +0000 (15:23 +0100)]
DRW: Add access to object dupli parent

12 months agoMOD_shrinkwrap: do not compute mesh when not needed.
Bastien Montagne [Mon, 26 Nov 2018 19:43:35 +0000 (20:43 +0100)]
MOD_shrinkwrap: do not compute mesh when not needed.

This modifier only uses mesh to get vgroup, which is only needed in case
modified object is indeed a mesh! Building a mesh from curve here is not
only useless and time-consuming, it will also easily fail the assert
about same number of vertices!

Note that surface_project and subsurf option also need more work at some
point, but this is probably not that urgent for now.

Also, use MOD_get_vgroup() helper in modifier code itself and pass
resulting MDeformVert & index to BKE_shrinkwrap's `shrinkwrapModifier_deform()`,
this is simpler and avoids duplicating vgroup handling code.

Related to T57972.

12 months agoMOD_curve: do not compute mesh when not needed.
Bastien Montagne [Mon, 26 Nov 2018 10:46:20 +0000 (11:46 +0100)]
MOD_curve: do not compute mesh when not needed.

This modifier only uses mesh to get vgroup, which is only needed in case
modified object is indeed a mesh! Building a mesh from curve here is not
only useless and time-consuming, it will also easily fail the assert
about same number of vertices!

Also, use MOD_get_vgroup() helper in modifier code itself and pass
reluting MDeformVert & index to BKE_curve's curve_deform_verts(),
this is simpler and avoids duplicating vgroup handling code.

Also fixes crash when used on lattice.

Related to T57972.