Commit Graph

87643 Commits

Author SHA1 Message Date
Campbell Barton
469f2ec17a Cleanup: unused vars 2019-05-16 21:17:10 +10:00
Brecht Van Lommel
a9b393c367 Fix T64678: wrong DDS normal map rendering after recent changes 2019-05-16 12:52:04 +02:00
Campbell Barton
f30921fc68 Fix T64687: Loop select work only with edges
Regression in recent commit 8a6414ed46
2019-05-16 20:29:05 +10:00
Sergey Sharybin
fced0f0437 Cycles: Don't advertise BVH8 being supported on 32bit platforms
The kernel does not use AVX2 vectorization, and trying to use BVH8 was
leading to an empty scenes.

Fixes T64624: Ctest : Win32 + AVX2 fails virtually all cycles tests
2019-05-16 11:51:25 +02:00
Sergey Sharybin
e693918d40 Dependency graph API changes
Main goal here is to make it obvious and predictable about
what is going on.

Summary of changes.

- Access to dependency graph is now only possible to a fully evaluated
  graph. This is now done via context.evaluated_depsgraph_get().

  The call will ensure both relations and datablocks are updated.

  This way we don't allow access to some known bad state of the graph,
  and also making explicit that getting update dependency graph is not
  cheap.

- Access to evaluated ID is now possible via id.evaluated_get().

  It was already possible to get evaluated ID via dependency graph,
  but that was a bit confusing why access to original is done via ID
  and to evaluated via depsgraph.

  If datablock is not covered by dependency graph it will be returned
  as-is.

- Similarly, request for original from an ID which is not evaluated
  will return ID as-is.

- Removed scene.update().

  This is very expensive to update all the view layers.

- Added depsgraph.update().

  Now when temporary changes to objects are to be done, this is to
  happen on original object and then dependency graph is to be
  updated.

- Changed object.to_mesh() to behave the following way:

   * When is used for original object modifiers are ignored.

     For meshes this acts similar to mesh-copy, not very useful but
     allows to keep code paths similar (i.e. for exporter which has
     Apply Modifiers option it's only matter choosing between original
     and evaluated object, the to_mesh() part can stay the same).

     For curves this gives a mesh which is constructed from displist
     without taking own modifiers and modifiers of bevel/taper objects
     into account.

     For metaballs this gives empty mesh.
     Polygonization of metaball is not possible from a single object.

   * When is used for evaluated object modifiers are always applied.

     In fact, no evaluation is happening, the mesh is either copied
     as-is, or constructed from current state of curve cache.

  Arguments to apply modifiers and calculate original coordinates (ORCO,
  aka undeformed coordinates) are removed. The ORCO is to be calculated
  as part of dependency graph evaluation.

File used to regression-test (a packed Python script into .blend):

{F7033464}

Patch to make addons tests to pass:

{F7033466}

NOTE: I've included changes to FBX exporter, and those are addressing
report T63689.

NOTE: All the enabled-by-default addons are to be ported still, but
first want to have agreement on this part of changes.

NOTE: Also need to work on documentation for Python API, but, again,
better be done after having agreement on this work.

Reviewers: brecht, campbellbarton, mont29

Differential Revision: https://developer.blender.org/D4834
2019-05-16 11:49:21 +02:00
Sergey Sharybin
b679887bd5 Depsgraph: Add queries whether ID is original/evaluated 2019-05-16 11:49:21 +02:00
Campbell Barton
f51521148f UI: use HIDE_HEADER for active tool in properties editor
Unfortunately this isn't yet compatible with category tabs,
define a duplicate panel only for the properties editor.
2019-05-16 19:46:07 +10:00
Bastien Montagne
59b7f3a164 Fix T64660: no access to node connectors when a node is inside a layout frame.
Note that the same issue actually showed without a frame node, when
trying to click-drag on a socket on its 'inside node' part, you would get
same behavior.

Only solution I can see here is to prevent Node selection to go on when
user clicks on one of its sockets, there is no way afaik to make
drag-from-socket to start if we keep select-node operator running
modal, since both operators (NODE_OT_select and NODE_OT_link) use the
same shortcut, if select (which is checked first, being a Tool) returns
modal, then event is considered handled it seems, even though
Passthrough is also returned...
2019-05-16 11:13:09 +02:00
Alexander Gavrilov
b05038fef7 RNA: new FCurve.is_empty property that exposes the new empty curve check. 2019-05-16 12:02:26 +03:00
Campbell Barton
c419f33dd2 GHOST: add header to display manager
Was relying on the header recently removed from GHOST_Rect.h,
for some reason only some systems give issues here.
2019-05-16 18:27:30 +10:00
Campbell Barton
da37b8c245 Minor change to last commit
Don't show a background for the toolbar.
2019-05-16 18:20:45 +10:00
Campbell Barton
0e667723d4 UI: Draw background for headerless panels with region-overlap
These were drawing without a backdrop.
2019-05-16 18:07:38 +10:00
Alexander Gavrilov
6519982876 Fix T64681: evaluate curves with generative modifiers and no keys.
Introduce a new function and use it everywhere, including
automatic curve deletion checks to guarantee consistency.
2019-05-16 09:48:46 +03:00
Campbell Barton
e097845a6f Cleanup: redundant headers mixed in with code 2019-05-16 14:54:23 +10:00
Campbell Barton
62ac2fddf7 Fix T64642: Reset to default preferences glitch 2019-05-16 14:43:51 +10:00
Campbell Barton
74ddf3bd0d Cleanup: use doxy sections for object_add.c 2019-05-16 14:13:51 +10:00
Campbell Barton
4ba7d4ca9d Cleanup: remove unused identifiers 2019-05-16 13:54:32 +10:00
Campbell Barton
2896ce7bc7 Fix using non-euler cursor orientation
Missed in 06fe2a5e0c
2019-05-16 13:50:00 +10:00
Campbell Barton
c9c23a3e44 RNA: add 3D cursor matrix attribute
Avoids having to check rotation modes to get the orientation.
2019-05-16 13:50:00 +10:00
Brecht Van Lommel
f2144cf298 Fix T64651, T64658: image texture not set to non-color properly
The version check was wrong, only working for older files.
2019-05-16 05:19:35 +02:00
mano-wii
4a766732e6 Fix unreported: Presselection cycle not working in multiple meshes editing. 2019-05-15 23:19:59 -03:00
Campbell Barton
68c12c80e5 Theme: add color difference for every other row
D4862 by @CandleComet with minor edits.
2019-05-16 12:05:17 +10:00
Campbell Barton
2384564149 Cleanup: remove 2.4x panel tabs
This makes the code confusing since we now have two other kinds of tabs
(navigation bar and panel categories).
2019-05-16 11:12:41 +10:00
Campbell Barton
870fc29068 Cleanup: panel layout logic
Workspace was being assigned in a loop, make some vars const.
2019-05-16 10:48:17 +10:00
Campbell Barton
02a7e57d9c Cleanup: sort DNA renaming defines 2019-05-16 09:47:00 +10:00
Campbell Barton
e8ed78c884 ClangFormat: remove FAKE_SELECT_MODE_BEGIN from ForEachMacros
This isn't used for looping.
2019-05-16 09:40:15 +10:00
mano-wii
8a6414ed46 Fix T54686: objects don't occlude each other for edit-mesh select 2019-05-16 09:36:15 +10:00
Pablo Vazquez
989d854385 Theme: Match edit mode in viewport and uv/image editor.
Also make the grid brighter as it can conflict with mesh wires in wireframe mode.
2019-05-15 23:16:16 +02:00
Pablo Vazquez
3b58bf3c7e Theme: Blender Light update
* Align category icons and color use with Default theme.
* Set colors for new properties and regions.
* Fix several issues.

Needs further testing to tackle all editors but this puts it at much more
usable level compared to how it was.
2019-05-15 23:08:31 +02:00
Alexander Gavrilov
40a69b2ad7 Animation: treat F-Curves with no keys as if muted/not existing.
When normally editing curves, deleting the last keyframe also
deletes the curve. Thus if for some reason it didn't happen,
e.g. maybe due to removing keys directly via Python, skip the
bad curve instead of resetting the channel to zero.
2019-05-15 22:35:15 +03:00
Alexander Gavrilov
198c00f4ed Armature Constraint: don't calculate the unneeded ct->matrix for solve.
This constraint requires full bone data to evaluate, so it can't
use the generic single target matrix system. Calculating it is
thus useless waste of CPU time.
2019-05-15 22:35:14 +03:00
Bastien Montagne
f9784ea6af Py NodeShader wrapper helper: add support for new Alpha setting of Principled BSDF.
Now that we have real alpha in BSDF, it's much better option for
transparency, than previously used Transmission value.

Related to T64609.
2019-05-15 20:59:58 +02:00
Antonioya
9baf669493 Fix T64649: Deprecated Annotation editing causes a crash
The Edit option was removed from annotations and the buttons must not be in the panel.
2019-05-15 20:26:26 +02:00
Antonioya
fe8f0758c6 GPencil: Invert Fade Object slider
The Fade Objects and Fade Layers parameters had opposite meaning and this was not correct.

Now, both parameters work in the same direction.
2019-05-15 19:31:03 +02:00
Pablo Vazquez
1185031cfb Theme: don't use red as hue for shading icons.
It can be confused with an error or something wrong in the UI.
2019-05-15 19:12:27 +02:00
Pablo Vazquez
2b8fba0c26 Theme: Darker grid. 2019-05-15 19:12:27 +02:00
Pablo Vazquez
5827a47280 Theme: match outliner/properties colors with modes in viewport.
Helps to:
* Make a connection between what we see in Outliner, Viewport and Properties editor
  (clicking on the obdata icon takes us to Edit mode, which shares colors).
* Quickly tell which mode we are in.
* Armatures have now distinct color when in Object, Edit, and Pose modes.

Missing is Pose mode which is currently cyan in the viewport and obdata category in properties,
it would probably need its own special category though as it doesn't match the others.
2019-05-15 19:12:27 +02:00
Hans Goudey
06fe2a5e0c Objects: new 3D cursor alignment option when adding objects
The choices are now World, View and 3D Cursor.

This breaks Python API compatibility, add-ons that add objects with this
parameter will need to be updated.

Differential Revision: https://developer.blender.org/D4706
2019-05-15 18:10:58 +02:00
Jacques Lucke
ddae9c9232 Fix T64634: Incorrect type casting in versioning code 2019-05-15 17:39:07 +02:00
Ray Molenkamp
9c5bec0292 space_file: fix build error with msvc.
Both windows.h and wm_types.h define HKEY, moving wm_types after windows.h
sidesteps the issue, since HKEY isn't used in fsmenu.c it doesn't cause
problems.
2019-05-15 09:13:07 -06:00
Brecht Van Lommel
39403c1e71 Fix missing separator before Save System Info with Developer Extras on 2019-05-15 16:42:31 +02:00
Bastien Montagne
6dceafbde3 Fix T63748: Long startups after network drives are disconnected.
We need to make those paths validation async, since some infamous OS is
unable to provide a quick way to check whether a path is valid or not...

Not much to say here, this is basic wmJob stuff really... We don’t even
need complex threaded coordination locks or atomics, given how simple
the changes are here.

Fake-tested with some `sleep()` calls to add atificial delay, seems to
work as expected.
2019-05-15 16:26:47 +02:00
Brecht Van Lommel
e39737f166 UI: make sidebars in 3D view and other editors a little wider and consistent 2019-05-15 16:17:23 +02:00
Brecht Van Lommel
4124aeee5c Lights: reduce default strength of sun light to 1.0 2019-05-15 16:09:50 +02:00
Tim Stullich
5ba1a6bee0 Lights: change sun light size to be specified as angle
This is the angular diameter as seen from earth, which is between 0.526° and
0.545° in reality. Sharing the size with other light types did not make much
sense and meant the unit was unclear.

Differential Revision: https://developer.blender.org/D4819
2019-05-15 16:07:50 +02:00
Brecht Van Lommel
2497ee31ec Fix T64650: missing topbar update when changing brush in sculpt mode 2019-05-15 15:22:17 +02:00
Campbell Barton
630b08c960 UI: remove splash from help menu
Already accessible in the app-menu.
2019-05-15 21:52:58 +10:00
William Reynish
64acb70e7f Remove ability to delete data from the File Browser
This removes the ability to hit X or Del to delete data from inside the File Browser.

This was extremely dangerous because it didn't use the system trash/recycle bin. This made it a very dangerous operation with no way to get data back.

Later on, we should add support for the OS trash through native API's, but until then we will remove this feature from the keymaps.

This addresses T61412 and T64104
2019-05-15 13:46:24 +02:00
Dalai Felinto
70d67de5e5 Fix icon for outliner temporarily hide 2019-05-15 08:18:15 -03:00
Dalai Felinto
5c8df0a742 Fix default open outliner restrict columns
Regression introduced on 777a546c0c.
2019-05-15 08:18:15 -03:00