Commit Graph

66364 Commits

Author SHA1 Message Date
2d720f51cd Workbench: Change Studio lighting
This is in order to have more flexible ligthing presets in the future.
The diffuse lighting from hdris was nice but lacked the corresponding
specular information. This is an attempt to make it possible to customize
the lighting and have a cheap/easy/nice-looking pseudo-PBR workflow.

* Add cheap PBR to Workbench with fresnel and better roughness support.
  This improves the look of the metallic surfaces and is easier to control.
* Add ambient light to studio lights settings: just a constant color added
  to the shading.
* Add Smooth option to studio lights settings: This option fakes the
  effect of making the light bigger making the lighting smoother for this
  light. Smoother lights gets reflected like a background hdri.
* Change default light settings to include the smooth params.
* Remove specular highlights from flat shading. (could be added back but
  how do we make it good looking?)
* If specular lighting is disabled, use base color without using metallic.
* Include a lot of code simplification/cleanup/confusion fix.
2018-11-28 15:59:56 +01:00
52458ab49d GPU: Add AMD Radeon RX series to macos blitting workaround list
Fixes T55987
2018-11-28 15:59:56 +01:00
dd102a4757 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.
2018-11-28 15:36:09 +01:00
3ed0d5b4d4 Merge branch 'master' into blender2.8 2018-11-28 14:42:38 +01:00
ce927e15e0 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.
2018-11-28 14:41:22 +01:00
b3e2c69416 Add utility function to query CPU brand string 2018-11-28 14:35:26 +01:00
2bd62b076f Outliner/visibility: revert changes for now until we find better solutions.
See T57857 for discussion. This reverts:

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

"Remove eye column from the outliner"
fd16b35997.

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

"Per view-layer collection visibility"
4de6a210c6.
2018-11-28 14:34:13 +01:00
cb9c4b4552 Fix defined but unused static variable warning 2018-11-28 14:13:42 +01:00
dac747bd09 UI: rename settings back to preferences.
This distinguishes it better for the many other types of settings.

Ref T54115.
2018-11-28 13:58:35 +01:00
43248164a4 PyAPI: add KeyMapItem.to_string() method
Useful for generating dynamic tooltips that include shortcuts.
2018-11-28 23:26:32 +11:00
edbf15d3c0 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.
2018-11-28 11:36:13 +01:00
9c8d31520d 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
2018-11-28 11:21:56 +01:00
6d2e2e30d5 Fix/workaround issues in pose and edit mode
Edit mode was unable to select, pose mode was unable to move bones.
2018-11-28 10:36:07 +01:00
ff0a29df14 Fix crash entering editmode 2018-11-28 20:26:40 +11:00
78a6c2e12c Transform: use scene-orientation for MMB axis constraint
Follows the change made for axis keys.
2018-11-28 19:48:19 +11:00
c527c78174 Cleanup: remove missing operator from UI 2018-11-28 17:48:26 +11:00
c2863326af Cleanup: correct assert, remove redundant NULL checks 2018-11-28 17:20:23 +11:00
ca05985ca7 Gizmo: fix compositor node crop w/ negative rectangles
min/max could be negative, causing the gizmo to fail.
2018-11-28 17:02:03 +11:00
62edc31d34 Cleanup: correct function signatures 2018-11-28 16:21:24 +11:00
0c8a7069b5 Fix assert opening file selector 2018-11-28 16:20:57 +11:00
Dalai Felinto
4de6a210c6 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.
2018-11-28 02:33:04 -02:00
Dalai Felinto
4521d3e707 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.
2018-11-28 02:33:04 -02:00
Dalai Felinto
fd16b35997 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.
2018-11-28 02:33:04 -02:00
b5ba5a0b94 Correct error clearing runtime tool in recent commit 2018-11-28 14:11:10 +11:00
b58d4e7fe4 WM: remove tool initialization code
Area initialization handles these cases now.
2018-11-28 13:58:53 +11:00
ba8c21989c WM: avoid re-initializing tools while resizing areas
Every update caused the gizmo to be recreated.
2018-11-28 13:50:15 +11:00
dcf0860dab Fix tool not being initialized switching windows 2018-11-28 13:41:36 +11:00
5429536904 RNA: disable animating sequence channel, lock 2018-11-28 12:16:24 +11:00
3377241f1e Scene: 3D cursor rotation wasn't initialized 2018-11-28 11:50:46 +11:00
43512b06b3 Cleanup: remove unused app-template flag 2018-11-28 11:24:45 +11:00
36da85ebeb Cleanup: style 2018-11-28 11:24:45 +11:00
Dalai Felinto
37b882982a Local View: Objects to be selected once back to regular view
They were already selected, but we needed to bump depsgraph.
2018-11-27 22:17:59 -02:00
6491d50d02 Transform: default to user-defined orientation
Previously we tried this but reverted (see 64d40c82c3)
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.
2018-11-28 10:15:02 +11:00
437d7d7cb9 UI: Reduce amount of padding between VSE channels.
Suggested by cezarfarias on RightClickSelect. Code snippet by MalDuffin.
2018-11-27 23:25:48 +01:00
9d535f7ce8 Print filepath in message when saving userprefs
Was just printing 'ok' on success.
2018-11-28 08:35:37 +11:00
c28fe9c304 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).
2018-11-27 18:24:22 -02:00
9d4129eee6 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.
2018-11-27 21:17:06 +01:00
0ebb632f69 Fix missing reset-to-NULL in own recent changes in modifiers utils. 2018-11-27 21:17:06 +01:00
013a5c8b77 MOD_wave: fix various issues.
Missing dependsOnNormal callback, potential usage of NULL mesh
pointer, style...
2018-11-27 21:17:06 +01:00
930a3813fe Shrinkwrap: minor simplification of code. 2018-11-27 21:17:06 +01:00
1f1ea26d8c Fix typos. 2018-11-27 21:17:06 +01:00
2a578b37b3 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)...
2018-11-27 21:17:06 +01:00
22e6ae11b4 VGroup search: do not try to search for empty string.
Vgroups always have a non-empty name, this is just loss of time...
2018-11-27 21:17:06 +01:00
b4087ea639 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.
2018-11-27 21:17:06 +01:00
4543da6ca6 MOD_simpledeform: do not compute mesh when not needed.
Related to T57972.
2018-11-27 21:17:06 +01:00
c89bb6f165 MOD_smooth: do not compute mesh when not needed.
Related to T57972.
2018-11-27 21:17:06 +01:00
9c82cc5123 MOD_smooth: do not compute mesh when not needed.
Also fixes potential memory leak.

Related to T57972.
2018-11-27 21:17:06 +01:00
bd957435ac Cleanup: tweak ED_region_is_overlap checks 2018-11-28 06:31:13 +11:00
Dalai Felinto
e9875fc82c 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.
2018-11-27 16:50:07 -02:00
Dalai Felinto
9c546c70d7 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.
2018-11-27 15:11:25 -02:00