Commit Graph

65530 Commits

Author SHA1 Message Date
Clément Foucault
d69fe6325d Eevee: Fix clearcoat materials not recieving AO 2018-10-29 22:40:42 +01:00
Julian Eisel
ab6c7ff2ab UI: Vertical Properties Editor Tabs
Moves the Properties editor context switching to a vertical tabs region.

Design Task: T54951
Differential Revison: D3840

The tabs are regular widgets, unlike the 'old' toolshelf tabs. This means they
give mouse hover feedback, have tooltips, support the right-click menu, etc.
Also, when vertical screen space gets tight, the tabs can be scrolled, they
don't shrink like the toolshelf ones.
The tab region is slightly larger than the header. The tabs are scaled up
accordingly. This makes them nicely readable.

The header is quite empty now. As shown in T54951, we wanted to have a search
button there. This should be added next.

Implementation Notes:

* Added a new region type, RGN_TYPE_NAVIGATION.
* Having the tabs in a separate region allows scrolling of the tab-bar, unlike
  the toolshelf tabs. We might want to remove the scrollbars though.
* Added a new region flag RGN_FLAG_PREFSIZE_OR_HIDDEN, to ensure the tab region
  is either hidden or has a fixed size.
* Added some additional flags to support fine-tuning the layout in panel and
  layout code.
* Bumps subversion.
2018-10-29 21:44:01 +01:00
Julian Eisel
ce148716c8 UI: Support Displaying Enums as Tabs
Adds `uiLayout.prop_tabs_enum(data, property, icon_only)` to BPY.
2018-10-29 21:20:58 +01:00
Alexander Gavrilov
a0dfa320cd Dope Sheet: new option to display keyframe interpolation mode and extremes.
With the new automatic handle algorithm, it is possible to do a lot
of the animation via keyframes without touching the curves. It is
however necessary to change the keyframe interpolation and handle
types in certain cases. Currently the dopesheet/action editor
allows changing the types, but does not show them in any way.

To fix, add a new menu option to display this information. For handle
type, it is represented using the shape of the key icons: diamond for
Free, clipped diamond for Aligned, square for Vector, circle for Auto
Clamp, and cirle with dot for Automatic.

Non-bezier interpolation is a property of intervals between keys,
so it is marked by drawing lines, similar to holds. In this initial
version, only the fact of non-bezier interpolation is displayed,
without distinguishing types. For summaries, the line is drawn at
half alpha if not all curves in the group are non-bezier.

In addition, it is sometimes helpful to know the general direction
of change of the curve, and which keys are extremes. This commit
also adds an option to highlight extremes, based on comparing the
keyed values with adjacent keys. Half-intensity display is used
for overshot bezier extremes, or non-uniform summaries.

Reviewers: brecht, aligorith, billreynish

Differential Revision: https://developer.blender.org/D3788
2018-10-29 22:04:19 +03:00
William Reynish
b18ac77df3 UI: icon set updates Andrzej Ambroz, and various fixes.
* Text editor word wrap, line numbers & syntax toggles now use consistent icons
  that don’t change when you enable or disable them.
* Replaced icon toggle buttons in the snapping popover with normal checkboxes
  and descriptive text labels. This makes it clearer which item is the main
  radio button, is more consistent with other popovers, and allows us to use
  more descriptive text.
* Added correct icons for grease pencil add menu.
* Added bespoke icons for grease pencil modifiers.
* Added icon for particle instance modifier.
* Added icon for fake user on & off states.
* Added correct icons for enabling/disabling modifiers in the dopesheet &
  f-curve editor.
* Made it so the restrict viewport & restrict render toggles for modifier
  update correctly when enabled or disabled, by flipping the order in the
  icon sheet. This also required changing the outliner to match.
* Removed the few old remaining icons in the old style and made sure to replace
  the last places where they were used.
* Updated many icons to be clearer & more consistent.
2018-10-29 19:04:07 +01:00
Brecht Van Lommel
b5667c2ca7 UI: allow off/on icons to be in reverse order.
The same icons are reused for "hide" and "show" properties, which need
to be in reverse order compared to each other.
2018-10-29 19:04:07 +01:00
Brecht Van Lommel
4c7f08e5eb Cleanup: remove unused RNA flag. 2018-10-29 19:03:47 +01:00
Alexander Gavrilov
bb770a2c85 Depsgraph: use full operation key to preserve update tags on rebuild.
The key used by find_operation consists of the operation code,
node name, and an index for array property drivers. All three
elements are required to unambiguously look up a node.
2018-10-29 20:54:38 +03:00
Alexander Gavrilov
62e2bbd068 Fix T57488: crash in Shrinkwrap constraint due to unsafe multi-threading.
- Constraints must not use mesh_get_eval_final as it isn't thread-safe.
- Depsgraph should keep lastDataMask when re-running COW.
2018-10-29 20:33:15 +03:00
Antonioya
bd7cb42f3d GP: Remove unneeded code to get icon
Test the object type is not good idea here.
2018-10-29 17:49:26 +01:00
Antonioya
11f9018ec6 GP: Cleanup typo 2018-10-29 16:43:11 +01:00
Bastien Montagne
29428859d9 Depsgraph cleanup: use proper DEG_debug_print_eval call... 2018-10-29 16:37:27 +01:00
Bastien Montagne
363a196ed6 BBox accessor: switch to switch, add missing gpencil case. 2018-10-29 16:37:27 +01:00
Clément Foucault
8ee575867a Eevee: Fix Sun soft shadows not starting at first sample 2018-10-29 16:26:52 +01:00
Clément Foucault
6b3981737a Edit Mode: Fix "Hidden Wire" option not working 2018-10-29 16:26:52 +01:00
Jacques Lucke
abdda29dab Fix: Pose Breakdown operator (continued) 2018-10-29 14:07:47 +01:00
Jacques Lucke
1c326e5079 Fix: Pose Breakdown operator
Reviewer: brecht

Differential Revision: D3848
2018-10-29 13:58:09 +01:00
Sergey Sharybin
48f9e24f0c Enable dependency graph update while rendering
It is a whole point of copy-on-write to make such updates safe.
If this causes an issues, we need to solve them.

Fixes T57302: Viewport (selection etc) not updated while rendering
2018-10-29 12:16:18 +01:00
Sergey Sharybin
b2411fe269 Fix unneeded/unwanted user counter when freeing CoW NLA 2018-10-29 11:48:37 +01:00
Sergey Sharybin
61d49d3448 Fix T57360: Crash when Play Animation in this scene
Was caused by a code which was putting animation value back to
original datablock.

The tricky part here is that we don't always know ID, so can not
put those values. Would be nice to have a solution for this, but
for until then we should be relatively good.
2018-10-29 11:48:37 +01:00
Bastien Montagne
f887dc1f5c Fix T57372: Second full scene copy crashes on deletion.
Hope this time we are done for good (root of the issue was that master
collections are not in bmain...).
2018-10-29 11:42:38 +01:00
Bastien Montagne
c2791777bd Fix stupid multiple-call of same function in Collections remapping code.
Related to T57372: Second full scene copy crashes on deletion (fixes
deleting second copy, but now it crashes on deleting the first copy...).
2018-10-29 10:53:10 +01:00
Philipp Oeser
262504ddd1 Fix T57384: Depsgraph assert after loading file with Mask Node
Maniphest Tasks: T57384

Differential Revision: https://developer.blender.org/D3831
2018-10-29 10:40:02 +01:00
Campbell Barton
4e6f5fabd4 Fix topbar UI being lost on undo w/ mode change 2018-10-29 20:20:16 +11:00
Campbell Barton
0e268fb68b Fix topbar tool UI being lost on undo
Using operators to the object mode was resetting the tool.

See: T56865
2018-10-29 17:36:39 +11:00
Campbell Barton
cf1cf105a0 Merge branch 'master' into blender2.8 2018-10-29 15:23:02 +11:00
Campbell Barton
7367c0bde4 Fix assert weight painting after undo 2018-10-29 15:21:25 +11:00
Campbell Barton
95150b8414 Multi-Object EditMode: curve select next/prev
D3842 & D3843 by @zazizizou
2018-10-29 13:41:44 +11:00
Campbell Barton
45aa812fb3 Multi-Object EditMode: curve select more/less
D3844 by @zazizizou with support for select-less
2018-10-29 13:25:04 +11:00
Campbell Barton
a0453dadf0 Merge branch 'master' into blender2.8 2018-10-29 13:04:47 +11:00
Campbell Barton
6c892efdbc Modifier: mask threshold option
D3834 by @Allosteric
2018-10-29 13:03:28 +11:00
Campbell Barton
d58cf8292c Cleanup: avoid C++ keyword in DNA 2018-10-29 12:49:47 +11:00
Campbell Barton
c750ebe113 PyAPI: remove GPUVertFormat() creation from a list
We already have `attr_add` method,
best not have two ways to do the same thing.

See: D3830
2018-10-29 11:08:55 +11:00
Campbell Barton
02035c34b7 Cleanup: typo 2018-10-29 10:35:05 +11:00
Campbell Barton
26ed545276 Cleanup: style 2018-10-29 10:24:42 +11:00
Julian Eisel
05588f909a Fix crash flipping region without active area
Would happen when cursor is in-between editors for example.
2018-10-28 22:56:37 +01:00
Clément Foucault
49f6c3556c DRW: Cleanup: Redundant check 2018-10-28 21:48:22 +01:00
Clément Foucault
b8331b79e6 Eevee: Implement jittered soft shadowmap
This new option is located in the shadows options in the render settings.
This approach is simple and just randomize the shadow map position (not
the lamp itself) and just let the temporal supersampling do the average of
all the shadowing. The downside is that is needs quite a large number of
samples to give smooth results and individual sample position can remain
visible.

Enabling this option will make the viewport refresh all shadow maps every
redraw so it has a serious performance impact.

This approach is not physicaly based at all and will not match cycles.

----

The sampling for point lamps (spheres) is not
2018-10-28 21:48:22 +01:00
Clément Foucault
2c545c0409 BLI: Add comment about to orthogonalize_m3/4 2018-10-28 21:48:22 +01:00
Clément Foucault
61e4e3178d Eevee: Fix contact shadow creating to overshadowing
This was because the shadow rays could be generated below the geometric
normal.
2018-10-28 21:48:22 +01:00
Antonioya
39bc44ffc5 GP: Refactor Instance modifier and rename to Array
The old name Instance was logic when the modifier created new object instances, but now works equal to mesh Array modifier, so the old name was not logic and must be Array.

Also added a Object to use as offset similar to mesh Array modifier.
2018-10-28 18:20:50 +01:00
Brecht Van Lommel
9bcdb19a3e Fix label misalignment when there are multiple buttons on the right side. 2018-10-28 17:46:52 +01:00
Brecht Van Lommel
41a284212a Cleanup: fix compiler warnings. 2018-10-28 17:46:51 +01:00
Brecht Van Lommel
046735d751 Merge branch 'master' into blender2.8 2018-10-28 16:41:30 +01:00
Roel Koster
e3d2df0380 Fix snaps appearing in system bookmarks on Linux.
Differential Revision: https://developer.blender.org/D3838
2018-10-28 15:08:21 +01:00
Severin
3bc8bc0709 Cleanup: More meaningful variable name 2018-10-27 17:18:29 +02:00
Campbell Barton
5e853849eb UI: operator to press the active button
Needed to use the keymap to activate buttons from other keys.
2018-10-27 12:25:02 +11:00
Dalai Felinto
6479e800bc Multi-Objects: Curve - select pick, linked and short path
I'm following mesh editing to decide when to switch active object, or
deselect the other objects. I hope we can keep this all consistent in
the end.
2018-10-26 20:01:19 -03:00
Dalai Felinto
7cbbc65faa Cleanup: Remove silly redundant if check in ED_armature_edit_select_pick 2018-10-26 19:20:12 -03:00
Dalai Felinto
254774a988 Fix T57367: Multi-Object-Mode: Edit Lattice selection only working for active object
For the records, curves still have this problem.
2018-10-26 19:18:52 -03:00