Commit Graph

74641 Commits

Author SHA1 Message Date
Sybren A. Stüvel
451bd5fd79 Cleanup: Alembic, removed unused export settings
No functional changes.
2020-02-14 15:41:17 +01:00
Sybren A. Stüvel
7c5a44c71f Alembic: refactor import and export of transformations
The Alembic importer now works with local coordinates. Previously, the
importer converted transformations from Alembic to world coordinates
before processing them further; this processing often included
re-converting to local coordinates. This change made it possible to
remove some code that assumed that a child transform was only read after
its parent transform.

Blender's Alembic code follows the Maya convention, where in the zero
orientation the camera looks forward instead of down. This extra
rotation is now handled more consistently, and now also properly handles
children of cameras. This fixes T73269.

Unit tests were added to at least ensure that the importer and exporter
are compatible with each other, and that static and animated camera
transforms are handled in the same way.
2020-02-14 15:41:17 +01:00
mano-wii
a21f5ec562 Fix T73763: Laggy with nodes Editor + International Fonts
Two main reasons for the lag:
- Allocation of memory with transfer to GPU.
- BLF_cache_clear();

The memory allocation seems to be unnecessary, so I removed it.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6837
2020-02-14 11:25:41 -03:00
Sebastián Barschkis
d6d44ccc77 Fluid: Inflow object improvements
Various fixes for smoke / fire flow objects:
- Apply inflow at every subframe (new: also emit during adaptive steps in between frames)
- Fix issue with fire not being emitted on first frame
- Higher value range for smoke flow density variable
2020-02-14 14:22:36 +01:00
Brecht Van Lommel
5ba727861d Cleanup: compiler warnings 2020-02-14 14:10:53 +01:00
Alessio Monti di Sopra
e139a3f9a5 UI: draw object names in 3D viewport with full opacity
Lamp names were be almost invisible when unselected.

Differential Revision: https://developer.blender.org/D6048
2020-02-14 14:01:28 +01:00
Bastien Montagne
1c1b78eab5 Make libquery resilient to old blend-files missing pointers.
This makes libquery usable during blendfile reading phases.

Some pointers that shall never be NULL in modern Main database did not
exist before.
2020-02-14 12:52:47 +01:00
mano-wii
e277e8d085 Cleanup: Split transform.c in multiple files
Differential Revision: https://developer.blender.org/D5819
2020-02-14 08:42:59 -03:00
Clément Foucault
897f943ca0 BKE: Version Bump to 2.82.3
Needed to avoid double fix of sun lights bias.
2020-02-14 12:26:59 +01:00
Clément Foucault
31ad86884c EEVEE: Shadow: Fix cascade shadowmap bias multiplicator
This fixes the issue where sun shadowmaps needs a very big bias value to
make any difference.

The bias is now in world space and not dependant on shadow bounds.

Unfortunatelly this breaks compatibility with previous version and old
scene are likely to need user intervention to fix.

Also fixes the property range.

Fix T71661 EEVEE shadow from sun on incorrect face
2020-02-14 12:26:49 +01:00
Bastien Montagne
38ced52d34 Fix minor issue with new libraries ID usercount.
Library data-blocks are supposed to be tagged as 'real user', i.e.
have one virtual user, since nothing else actually uses (refcounts)
them. That was done in liblink code, but not for newly added ID-LI IDs
when linking from a new libblend file e.g.
2020-02-14 12:18:21 +01:00
Bastien Montagne
38c8378f52 Cleanup: libquery: add explicit comment that we ignore ID.lib pointer there. 2020-02-14 12:18:21 +01:00
Philipp Oeser
5ca7c85e10 Particle editmode: add mouse independent "Select Linked" operator
The current "Select Linked" operator works based on mouse position and
makes no sense to call from the menus and was removed in rBdd9dfadaac9b.

This patch adds an operator independent from mouse position that just
selects all keys to a corresponding point (and adds back menu entries,
adds keymap entry).

The original operator is renamed to 'select_linked_pick' internally
(this is now more in line to how "Select Linked" works for meshes,
curves etc)

Differential Revision: https://developer.blender.org/D6823
2020-02-14 11:37:17 +01:00
Campbell Barton
9fef5a2db4 Fix T71971: Inset with depth and relative offset fails 2020-02-14 20:38:39 +11:00
Campbell Barton
59bae6d149 BMesh: stop BM_mesh_elem_index_validate from setting indices
This prevented indices from being set to temporary values,
which is needed in some situations.
2020-02-14 19:39:43 +11:00
Campbell Barton
f621f03e4b Fix console cursor offset
Also remove hard coded offsets.
2020-02-14 16:14:02 +11:00
Campbell Barton
bbe6b661df Cleanup: console/info headers 2020-02-14 15:06:03 +11:00
Campbell Barton
9e74c071b6 Cleanup: use 'textview_' prefix for internal functions 2020-02-14 14:00:55 +11:00
Campbell Barton
489cecb954 Cleanup: change textview 'unsigned char' to 'uchar' 2020-02-14 13:58:58 +11:00
Campbell Barton
69be8039e8 Fix T73784: Python console: incorrect wrapped line cursor position
Regression in aa919f3e82

Remove character margins, it complicated drawing & picking
to have one margin in pixels and a second margin in characters.

Replace this with an outer pixel-margin for drawing background colors.
2020-02-14 13:45:45 +11:00
Ray Molenkamp
75a5ea01c1 Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly
enforced. This mode is available on MSVC 15.5+ [1]

This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process.

- Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour.
- Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard.
- Ghost had some scoping issues regarding uninitialized variables and goto behaviour

Second landing of this patch, earlier commit was reverted due to some compiler configurations having slipped though testing

[1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance

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

Reviewed By: brecht
2020-02-13 17:13:07 -07:00
Lukas Stockner
4af74f453d Freestyle: Add option for rendering Freestyle to a separate pass
This allows for more flexibility in Compositing compared to the
hardcoded alpha-over that is currently used.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6829
2020-02-14 00:33:50 +01:00
Clément Foucault
b6572c5430 DRW: Fix color management in material/rendered mode
We only do exposure/gamma if not using scene lighting
2020-02-13 18:12:28 +01:00
Bastien Montagne
dadabf5cf3 Py API: Add orphans_purge helper to bpy.data.
Much more convinient than trying to use outliner operator...
2020-02-13 17:46:57 +01:00
Bastien Montagne
92e41bb1a8 Fix for fix (c) assert from own recent commit.
This master_collection thing is really, really annoyingly spreading all
over the place...
2020-02-13 16:56:31 +01:00
Jacques Lucke
52f326ed48 Cleanup: add clarifying comment to ViewLayer->layer_collections 2020-02-13 16:33:50 +01:00
Bastien Montagne
be40d86e35 Fix (unreported) private/embedded IDs being added to bpy.data.user_map() dict.
We do not want those here.
2020-02-13 16:23:42 +01:00
Bastien Montagne
3ec3c5b557 Fix (unreported) fully broken bpy.data.user_map() helper.
The introduction of python instancing for ID data in 2.80 completely
broke the 'smart & efficient' hack of using a same py object as key for
initial quick check, since rebuilding the RNAPointer in the
BPy_StructRNA would actually affect the py instance of the first ID used
to generate that py object...

TL;DR: No need for this complex and unclear optimization anymore, since
we do not actually rebuild a whole py object anymore every time we call
`pyrna_id_CreatePyObject()` from a same ID pointer.
2020-02-13 16:23:42 +01:00
Bastien Montagne
c9c013f53b libquery: Add 'owner id' to callback data.
In some cases it's important to always have a proper ID as reference,
e.g. whene generating data supposed to represent main data-base...
2020-02-13 16:23:42 +01:00
Bastien Montagne
a1397e48b9 Cleanup old special cases from some libquery callbacks.
We now have proper flagging for horrible loopback pointers...
2020-02-13 16:23:42 +01:00
Bastien Montagne
f28bb6992f Refactor libquery ID looper callback to take a single parameter.
Using a struct here allows to change given parameters to the callbacks
without having to edit all callbacks functions, which is always noisy
and time consuming.
2020-02-13 16:23:42 +01:00
mano-wii
13e5e55f3f Cloth: Optimization in self collision
15% to 20% improvement in cloth simulation performance with
self-collision.

The idea is to reduce the number of collisions computed by avoiding
overlapping tris with the same combination (eg. (1,0) and (0,1)).

Reviewed By: zeddb

Differential Revision: https://developer.blender.org/D6474
2020-02-13 11:09:25 -03:00
Ray Molenkamp
6022cd015f Revert "Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it."
It is breaking compilation on some configurations, revert for now while
i see what is wrong.

This reverts commit 9fe469c110.
2020-02-13 07:04:30 -07:00
Brecht Van Lommel
d1cd3ec9ba Fix T67649: clarify description of node update method 2020-02-13 11:02:12 +01:00
Campbell Barton
0840469ccd Fix T71112: UILayout.activate_init when used in popups that refresh 2020-02-13 17:06:29 +11:00
Campbell Barton
57d0e4969d Fix crash using 'activate_init' in popup menus
Reported in T71112
2020-02-13 17:02:52 +11:00
Campbell Barton
60066b0b80 Fix crash using '--debug-handlers' command line argument 2020-02-13 15:19:49 +11:00
Campbell Barton
d1bd33407d Cleanup: pass const variables 2020-02-13 14:14:33 +11:00
Campbell Barton
f874f6817d Fix T73727: Invalid event.type for Gizmo.modal callback 2020-02-13 13:55:37 +11:00
Clément Foucault
eaea5c8904 Workbench: Fix depth of field background being glitchy 2020-02-13 01:55:08 +01:00
Clément Foucault
d051dd01ed Workbench: Fix premultiply alpha issue in transparent material 2020-02-13 01:24:40 +01:00
Clément Foucault
a40d9ce553 Overlay: Fix non meshes object disappearing if smooth wire is not enabled 2020-02-13 01:07:15 +01:00
Ray Molenkamp
9fe469c110 Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly
enforced. This mode is available on MSVC 15.5+ [1]

This patch enables this mode on compilers that support it and cleans up the few violations it threw up in the process.

- Mantaflow was using M_PI without requesting them using the _USE_MATH_DEFINES define to opt in to non default behaviour.
- Collada did not include the right header for std::cerr, this seemingly was fixed for other platforms already but put inside a platform guard.
- Ghost had some scoping issues regarding uninitialized variables and goto behaviour

[1] https://docs.microsoft.com/en-us/cpp/build/reference/permissive-standards-conformance

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

Reviewed By: brecht
2020-02-12 12:49:34 -07:00
Philipp Oeser
9aae62a59b Particles: remove unused sel_col and nosel_col from
CacheEditrPathsIterData and PTCacheEdit

Followup to 80cecee5b7.

ref D6725
2020-02-12 19:17:19 +01:00
Philipp Oeser
80cecee5b7 Fix T68788: Particle Edit Mode Hair vertex doesn't follow vertex theme
color

Selection and grooming only ever happens on hair keys (vertices), so
makes sense to use that theme color.

Sidenote: `CacheEditrPathsIterData` and `PTCacheEdit` have `sel_col` and
`nosel_col`, these can go, will do in a separate commit.

Maniphest Tasks: T68788

Differential Revision: https://developer.blender.org/D6725
2020-02-12 19:03:28 +01:00
Philipp Oeser
6da097136c Fix T59271: Curves with Extrude still show curve
Compared to 2.79, this also has the benefit of actually showing the curve
again if you set both bevel start and end to 0.0 for example.

Maniphest Tasks: T59271

Differential Revision: https://developer.blender.org/D6168
2020-02-12 18:44:39 +01:00
Clément Foucault
8e4d5740c8 GPencil: Disable multisampling as it is not supported anymore
Another AA method is comming in the GPencil refactor.
2020-02-12 18:43:10 +01:00
Clément Foucault
00e012d564 GPencil: Fix colormanagement broken by recent refactor
This is a quick fix that should work until the GPencil refactor lands.
2020-02-12 18:21:53 +01:00
Clément Foucault
fffb185dbf DRW: Fix debug drawcalls and annotation drawing 2020-02-12 16:55:05 +01:00
Bastien Montagne
83c6f09746 Harmless Fix for recent cleanup.
For some reason that file did not get included in the commit...
2020-02-12 14:35:33 +01:00