Commit Graph

83180 Commits

Author SHA1 Message Date
Clément Foucault
64bca2e648 Fix T58950: wireframe/orthographic/front/side/topview crash 2.8 2018-12-08 11:32:58 +01:00
Alexander Gavrilov
b4b224dc08 Shrinkwrap: use polygon normals for flat faces in Align To Normal.
Hit normal originates from tesselated triangles and isn't the
actual normal used for shading of flat faces. Thus, it is better
to use the actual polygon normals when available.
2018-12-08 08:27:37 +03:00
Campbell Barton
1ddfd8c9ec Cleanup: style 2018-12-08 15:01:47 +11:00
Clément Foucault
0fe5a78983 Fix T58949: Transform feedback shaders not having fragment shader 2018-12-07 21:19:14 +01:00
Pablo Vazquez
c3da1691ac UI: Fix typo in hostname stamp tooltip
Also change the part "running Blender" for "that rendered the frame".
2018-12-07 20:40:55 +01:00
Antonioya
a8e459e452 Fix T58360 "Use object as pivot" in GP "Shadow effect" crashes Blender 2018-12-07 20:01:01 +01:00
Sybren A. Stüvel
6a5e809697 Move static get_hostname() to BLI_hostname() in system.c
This makes the `#include <Windows.h>` use more localised and out of the
`image.c` file.

Reviewers: LazyDodo

Reviewed by: LazyDodo

Differential revision: https://developer.blender.org/D4049
2018-12-07 19:28:08 +01:00
Bastien Montagne
de491abf99 Fix modifiers evaluation outside of depsgraph/CoW context.
Fix T58237: Exporters: Curve Modifier not applied when "apply modifiers" are selected.
Fix T58856: Python: "to_mesh" broken in 2.8.

...And many other cases... ;)

Thing is, we need target IDs to always be evaluated ones (at least I
cannot see any case where having orig ones is desired effect here).
Depsgraph/Cow system ensures us that when modifiers are evaluated by it,
but they can also be called outside of this context, e.g. when doing
binding, or object conversion...

So we need to ensure in modifiers code that we actually are always
working with eval data for those targets.

Note that I did not touch to physics modifiers, those are a bit touchy
and rather not 'fix' something there until proven broken!
2018-12-07 18:55:08 +01:00
Sergey Sharybin
38ef3d6b91 Remove unused particle system recalc flag 2018-12-07 18:04:13 +01:00
Sergey Sharybin
1ab73fde37 Remove obscure debug-only print
The message is not clear for users, and is set for modifier already.
2018-12-07 18:02:43 +01:00
Dalai Felinto
f40a88a4ba Fix selected to active Cycles Baking
Since we started using looptris we no longer need a triangulation
modifier in the highpoly object. In fact having was causing a bug
where baking would be utterly broken.

This fix normal baking. Combined pass still needs a fix to hide the
objects during baking.
2018-12-07 14:58:37 -02:00
Sergey Sharybin
e9634b6930 Cleanup, typo in naming
\Something went wrong in the rename script..
2018-12-07 17:30:47 +01:00
Sybren A. Stüvel
e2d9166473 Metadata: add hostname to the available metadata options
Having the hostname allows us to identify which machine rendered which
frame in our render farm.

This simply uses the host's name, and doesn't do any DNS lookup of any
IP address of the machine. As such, it's only usable for identification
purposes, and not for reachability over a network.

Reviewers: sergey, brecht

Reviewed By: sergey

Differential Revision: https://developer.blender.org/D4047
2018-12-07 17:29:07 +01:00
Philipp Oeser
16e67dc206 Merge branch 'master' into blender2.8 2018-12-07 16:42:36 +01:00
Philipp Oeser
0eb61c799d Fix T57994: Particle Instance modifiers 'Index Layer' off by one
better have this vertex color layer cover the whole 0-1 range

thx @sergey for checking

Maniphest Tasks: T57994

Differential Revision: https://developer.blender.org/D3976
2018-12-07 16:33:25 +01:00
Philipp Oeser
f034926dba add 'Control Points' and 'Segments' editmode menus for Surfaces
Fixes T58922

Reviewers: brecht, billreynish

Maniphest Tasks: T58922

Differential Revision: https://developer.blender.org/D4046
2018-12-07 15:15:52 +01:00
Sergey Sharybin
4fe578c827 Merge branch 'master' into blender2.8 2018-12-07 15:00:48 +01:00
Dalai Felinto
e7c3f7ba6f Update BVHTree.FromObject API, remove render argument
This information should come from the depsgraph.
2018-12-07 11:55:00 -02:00
Sergey Sharybin
3b1f90ed84 Cycles: Do more user-friendly indication that GPU devices are not found 2018-12-07 14:53:29 +01:00
Sergey Sharybin
bb0d812d98 Cycles: Disable OpenCL on macOS
This is unfortunate, but the number of bugs in this configuration
keeps growing, and almost all of them are caused by bug in OpenCL
compiler.

The compiler is not likely to be fixed, since Apple declared OpenCL
deprecated.

This evil commit is aimed to keep officially supported features
of Blender in a good working and stable state.
2018-12-07 14:37:47 +01:00
Philipp Oeser
c1f6ecdfab Fix T58902: error getting tools for Image Editor (modes Paint and Mask)
Maniphest Tasks: T58902

Differential Revision: https://developer.blender.org/D4044
2018-12-07 14:17:17 +01:00
Brecht Van Lommel
012a44cff1 Fix T57640: UV unwrap packing not working without sync selection. 2018-12-07 13:54:59 +01:00
Dalai Felinto
cc61b21dff Partial fix to T58917 - No valid cage
The fix itself simply is to store the cage object as a pointer instead
of a string/name.

That said baking with or without cage is yielding very different results
than in 2.7.
2018-12-07 10:44:19 -02:00
Charlie Jolly
ad47b0236e GP: Refactor coordinates to float
See: D4030

Differential Revision: https://developer.blender.org/D4036
2018-12-07 11:45:48 +00:00
Sergey Sharybin
942e9835a9 Fix/workaround crash opening almost any Spring file
The issue was caused mpoly array urequired by the cache filling,
but the pointer was never set when preparing render data.

Seems this change is safe enough, in terms it shouldn't be
causing slowdown, since the assignment of mpoly is cheap, but
hard to tell if there is anything else affected by thing underneath.
2018-12-07 12:41:46 +01:00
Sergey Sharybin
fff5df8108 Depsgraph: Make data allocation dependency more robust
This fix aims to fix crash/assert failure related on wrong
evaluation order which happens when there is a cyclic
dependency involved.

The rationality of this change is that we can allow use
of uninitialized scalar value, but memory is better be
allocated.

This might not be ideal still, but worth a try.
2018-12-07 11:37:44 +01:00
Sergey Sharybin
89121253db Depsgraph: Use shorter relation name
It is clear enough already that it goes From to To.
2018-12-07 11:37:38 +01:00
Sergey Sharybin
5c9a67c63b Depsgraph: Cleanup, line length 2018-12-07 11:37:38 +01:00
Sergey Sharybin
79312c1912 Depsgraph: Remove duplicated sets of recalc/update flags
There were at least three copies of those:

- OB_RECALC* family of flags, which are rudiment of an old
  dependency graph system.
- PSYS_RECALC* which were used by old dependency graph system
  as a separate set since the graph itself did not handle
  particle systems.
- DEG_TAG_* which was used to tag IDs.

Now there is a single set, which defines what can be tagged
and queried for an update. It also has some aggregate flags
to make queries simpler.

Lets once and for all solve the madness of those flags, stick
to a single set, which will not overlap with anything or require
any extra conversion.

Technically, shouldn't be measurable user difference, but some
of the agregate flags for few dependency graph components did
change.

Fixes T58632: Particle don't update rotation settings
2018-12-07 11:37:38 +01:00
Bastien Montagne
989fbff16f Cleanup/refactor binding code for MeshDeform modifier.
We had two different ways of doing it, SurfaceDeform and LaplacianDeform
would do it through a special modifier stack evaluation triggered from
binding operator, while MeshDeform would do it through a regular
depsgraph update/eval (also triggered from its binding op).

This enforces the later to search back for orig modifier data inside
modifier code (to apply binding on that one, and not on useless CoW
one).

Besides the question of safety about modifying orig data from threaded
despgraph (that was *probably* OK, but think it's bad idea in general),
it's much better to have a common way of doing that kind of things.

For now it remains rather dodgy, but at least it's reasonably consistent
and safe now.

This commit also fixes a potential memleak from binding process of
MeshDeform, and does some general cleanup a bit.
2018-12-07 11:22:31 +01:00
Philipp Oeser
41e4059f3c Fix T58046: Crash when changing Particle type, when Hair has dynamics
thx @sergey for checking
2018-12-07 10:54:44 +01:00
Campbell Barton
999b466784 Cleanup: split mixed_bones_object_selectbuffer
Split basic object picking logic out into it's own function.
2018-12-07 20:49:11 +11:00
Campbell Barton
b48156d012 Cleanup: style 2018-12-07 20:48:56 +11:00
Antonioya
20261a7581 Fix T58913 Won't focus on Grease Pencil
When the datablock was empty, the center was not calculated. Now it uses the object location.
2018-12-07 10:42:14 +01:00
Campbell Barton
32aefb6fba Fix T58911: Picking objects fails in pose mode 2018-12-07 19:10:08 +11:00
Campbell Barton
10540822dc Fix T58811: Scale bezier handle uses tip as origin 2018-12-07 18:22:14 +11:00
Campbell Barton
136e88f4ea Merge branch 'master' into blender2.8 2018-12-07 17:11:28 +11:00
Campbell Barton
52824f008e Cleanup: redundant counter 2018-12-07 17:06:21 +11:00
Campbell Barton
606223f6a6 Merge branch 'master' into blender2.8 2018-12-07 15:54:17 +11:00
Campbell Barton
d6d76759f8 Fix error in Main cleanup
See 481cdb08ed
2018-12-07 15:42:34 +11:00
Clément Foucault
0c6d5232a3 DRW: Remove the use of GPUTexture buffers for edit wire rendering
See previous commit for detail as why.
2018-12-07 05:33:53 +01:00
Clément Foucault
e929cad706 DRW: Rework wireframe overlay implementation
The shader is way simpler and run way faster on lower end hardware
(2x faster on intel HD5000) but did not notice any improvement on AMD Vega.

This also adds a few changes to the way the wireframes are drawn:
- the slider is more linearly progressive.
- optimize display shows all wires and progressively decrease "inner" wires
  intensity. This is subject to change in the future.
- text/surface/metaballs support is pretty rough. More work needs to be done.

This remove the optimization introduced in f1975a4639.
This also removes the GPU side "sharpness" calculation which means that
animated meshes with wireframe display will update slower.
The CPU sharpness calculation has still room for optimization. Also
it is not excluded that GPU calculation can be added back as a
separate preprocessing pass (saving the computation result [compute or
feedback]).

The goal here was to have more speed for static objects and remove
the dependency of having buffer textures with triangle count. This is
preparation work for multithreading the whole DRW manager.
2018-12-07 05:33:53 +01:00
Clément Foucault
9f5a27c5be GPU: Remove EXT and add assert
Some drivers accept shaders with only vertex stage, but some just silently
fails.
2018-12-07 05:33:46 +01:00
Clément Foucault
fe20aa1edf GPU: Add GPU_vertformat_triple_load to load next vertices attrib
Right now does not add padding at the end of the buffer.

This seems not necessary but may cause problem on some platform. If needed
we will add this padding (only 2 more vertices).
2018-12-07 05:33:17 +01:00
Clément Foucault
88d36e6456 DRW: Add Provoking vertex state. 2018-12-07 05:33:17 +01:00
Campbell Barton
58398acc68 Fix crash recovering last session 2018-12-07 15:04:57 +11:00
Campbell Barton
8f40fbad5b Add license headers for app-templates 2018-12-07 14:29:03 +11:00
Campbell Barton
8a5656caa9 Fix T58897: Show folders in video editing template
Show folders and start in the users home.
2018-12-07 14:27:22 +11:00
Campbell Barton
a304ed1b01 WM: alternate fix for T58904
Use messages instead of notifiers.
2018-12-07 14:07:05 +11:00
Campbell Barton
2fefbfd2d0 Revert "Fix T58904: Side tabs disappear when creating new View Layer"
This reverts commit 892a104d2c.
2018-12-07 13:49:00 +11:00