Blender Git Loki

Git Commits -> Revision a6c8037

Revision a6c8037 by Howard Trickey (newboolean)
July 13, 2020, 01:12 (GMT)
Merge Master, then fixes of problems caused by that.

commit 622aa7bc5015cc3b85deb0eb13b7b315169569b4
Author: Howard Trickey <howard.trickey@gmail.com>
Date: Sun Jul 12 21:09:59 2020 -0400

Provided noexcept move contructors for many types.

Needed because now a static assert trips when making Arrays
or Vectors of these types.

commit 7a7dd53bca36506fb51788cad0444dcb491b3c13
Merge: 74c56382b88 f319eec8818
Author: Howard Trickey <howard.trickey@gmail.com>
Date: Sun Jul 12 19:22:24 2020 -0400

Merge branch 'master' into boolmerge

commit f319eec881866ec5d9ca84e765521883821958f7
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 11:05:43 2020 +0200

Cleanup: disable debug code

commit 30ed51d60a83d89b91ea104e737895d188db8903
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:50:19 2020 +0200

Cleanup: unused debug variable

commit 21b20ae5ec1512b52f6c231863a278ccacb4835c
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:38:57 2020 +0200

Particles: initial support for forces in simulation node trees

The force node can now be used to control the behavior of particles.
Forces can access particles attributes. Currently, there are three attributes:
`Position` (vector), `Velocity` (vector) and `ID` (integer).

Supported nodes are: Math, Vector Math, Separate Vector, Combine Vector and Value.

Next, I'll have to split `simulation.cc` into multiple files and move
some stuff out of blenkernel into another folder.

commit ebf9082e1c1e7887143295f8590634188f0efcb2
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:38:30 2020 +0200

Nodes: support more implicit conversions in simulation node tree

commit 838b1742fb99f7d0eba203313b6faa3cfc89ef8d
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:38:03 2020 +0200

Functions: minor improvements

commit 404486e66c6a4ebebb085700d58b396597146add
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 10:01:37 2020 +0200

Functions: minor api improvements

commit ee5c2f6ead37eedfe2f45e6a53c856078bf92f5f
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 11 20:41:21 2020 +0200

GPencil: Replace "ShaderFX" with "Shader Effects" in RNA prop text

commit c7eada103c67021052f4c6a2340ca8f744cf17db
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 18:02:06 2020 +0200

Nodes: support implicit conversions and incorrectly linked sockets

commit 06401157a69f769388c533979b0558ac599d792e
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 17:59:43 2020 +0200

Fix: incorrect attribute type in network

commit 46b79b3d4a8a6f684f2879f82c0123b8d972d6e2
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:55:57 2020 +0200

Nodes: support vector math node in simulation node tree

commit b9208758932f2a3b4fd1fe45f8e69f5902716b67
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:47:53 2020 +0200

Nodes: support math node in simulation node tree

commit 8fae58ce0b65a5c4787b59abbd0f6ba0dee79908
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:39:17 2020 +0200

Nodes: support Value node in simulation node tree

commit 16d4373158a96d44fb105463f78e53566d0c784e
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:24:53 2020 +0200

Nodes: move Math, Vector Math and Value shader nodes to c++ files

This required a little bit of refactoring, because we were using c-only
syntax for the gpu shader names. All tests are still passing.

commit 415d3ee05bfa51d7a71fa8417682e38186915776
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 22:03:27 2020 +1000

UV: add path select operator that uses the selection

Instead of using the mouse cursor position,
this selects between existing selected elements.

Access this since picking a selection path doesn't
work from the menu.

commit 6e698653dfff094de193cd4de2d4d3da4097d829
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 20:34:17 2020 +1000

Cleanup: remove unused function

commit 651db1b26fa7da3cee4683b10e40f3ef78ae445a
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 15:10:05 2020 +1000

Cleanup: spelling

commit 020e0f11ff547f1547fecfdc4765e2e1092a4e2c
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 14:50:47 2020 +1000

Docs: remove reference to PYTHONHOME

This is no longer used by default, when '--python-use-system-env' is set
there are many Python environment variables, don't list them in
Blender's help message.

commit d2b910fafec6532cfe4438d3e621d21a616a61ba
Author: Aaron Carlisle <carlisle.b3d@gmail.com>
Date: Fri Jul 10 16:07:31 2020 -0400

UI: UV: Add Select Shortest Path to menu

This matches the 3D Viewport

commit 3dc0178390ecdb30aeb7517afd7e3ef2373cc9fa
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 10 20:00:20 2020 +0200

Fix T78662: Cycles baking fails if denoising is enabled, after recent changes

This is not supported yet.

commit 6fbacd6048c555011b8a75fb5439679366272c0e
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 10 19:56:53 2020 +0200

Fix build error building without OpenImageDenoise

commit 48f10319c6b67b704f26762fdec8e439640d46b6
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 10 18:40:35 2020 +0200

Fix T78801: Eevee missing setting to enable/disable freestyle per view layer

This was only visible when Cycles was enabled.

commit 4e8fc15586f549e7a46099cecde8d81c87d855c4
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 10 12:21:32 2020 -0400

UI: Improve transform constraint layout

- Remove the "mapping" subpanel and moves the source axis
selection ot the destination subpanel.
- Rename "Source" and "Destination" to "Map From" and "Map To" to
make the action more clear
- Gray out source axes when their data isn't selected.

These changes were discussed in D8041.

commit 3e4f49fe710d5e3233c774de9a9341451d486f51
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 10 18:02:51 2020 +0200

Revert "Fix T78296: Performance - Use Binary Search for MDeformWeight"

This reverts commit 39b525e0f07fa25dcda54226ade789959b642dec and
3121015dceb1d269d79690c8f15c8e1406c9b09f as tests are failing.

commit d5208c45fadbfd59a686eb77a0c4161b02b0e482
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Fri Jul 10 17:56:05 2020 +0200

GPencil: Fix unreported Use Falloff curve for active frame not working

For the active frame it was using always a value of 1.0 and it was not using the curve.

commit 6eeb32706aa28bd4d0f3c26f6a5965facd6c0d62
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 9 12:20:07 2020 +0200

Cycles: support OpenImageDenoise in final renders

Performance is not great currently due to the API not seeming to support
efficient denoising of multiple tiles at the same time. So in many cases
only one or a few threads will actually be denoising at the same time.

In renders with many samples this is not a big problem, but for faster
renders it's a signficant overhead.

We should try to optimize this still, possibly by batching denoising of
a bigger neighborhood of multiple tiles at once.

commit 93791381fec898e6f74a189e4eeb25f66029f131
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 9 20:01:22 2020 +0200

Cleanup: reduce hardcoded numbers in denoising neighbor tiles code

commit e65c78cd43aa8d50612365f6b506de53d1bbfd86
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 9 18:54:42 2020 +0200

Cleanup: minor refactoring in Cycles update detection code

commit ad45b8d6a439f131bae545e054ba5e31a95bb0ea
Author: Milan Jaros <jar091>
Date: Fri Jul 10 11:49:52 2020 +0200

Cycles: optimize camera inside volume tests

Only run when there are volumes in the scene, and compute in parallel.

Ref T56939

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

commit d8e648c352debfe9664d3c312bdb6cee5fcefbf3
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 10 17:09:35 2020 +0200

Fix T78776: Cycles OpenCL error after recent changes for holdouts

commit 9dbe9a753a54cad83f94ef295b7a8b4350ab9783
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 10 16:50:26 2020 +0200

Fix T78766: Blender crashes after deleting vertices with Custom Normals.

Some core BMesh topology changing functions were not properly tagging
custom normal runtime caches as dirty...

commit 537292498324808c4621f0a749e9f48ee40da7be
Author: Richard Antalik <richardantalik@gmail.com>
Date: Fri Jul 10 16:14:10 2020 +0200

Fix T78579: Proxy produces wrong preview when using Offset or Crop

Make sure that proxy and original images are scaled to same size before
applying offset or crop.

During testing, I discovered, that raw cache will lose information whether
this image was proxy or not. Because of this, proxy images will not create
this cache type. It would be fairly easy to implement this functionality for
cache, but I have decided to not do it now, because I did not want to pass yet
another mostly hard-coded bool flag to cache system. Since image is proxy, it
should be fast to read anyway.

In case of using offset property, code was modified to make sure we scale
image only once. I also tried to make code more readable and streamlined and
cleaned up surrounding functions a bit.

Reviewed By: brecht

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

commit 77f823a2401c5d8236389c1baab45923d5cccb32
Author: Richard Antalik <richardantalik@gmail.com>
Date: Fri Jul 10 15:57:28 2020 +0200

Fix T78573: Crash when removing strips with prefetching

Stop prefetching before changing content of seqbase.

Reviewed By: brecht

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

commit 47e71f462361acc3a4ec9f204e5535fd2cc62b32
Author: Richard Antalik <richardantalik@gmail.com>
Date: Fri Jul 10 15:53:57 2020 +0200

Fix T69440: Memory leak adding strips via python

seq->strip was overwritten in python API function.

Reviewed By: sergey

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

commit cbfedf2139eb50df03217c9a6f036260a7b9f0b0
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 15:53:36 2020 +0200

BLI: add C++ random number generator

This adds `blender::RandomNumberGenerator` in `BLI_rand.hh`.
Furthermore, `RNG` is now implemented in terms of this new generator.
No functional changes are expected, the generated random numbers
are not changed by this commit.

Reviewers: campbellbarton, brecht

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

commit c2304d2f029cf4610c33c0e9cbf5afe519b770b8
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 10 15:29:03 2020 +0200

Expose override flags to python RNA properties definition.

Time will tell whether we need to expose more RNA override flags here.

Implements/Fix T78534.

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

commit 4d1c3c029eeba865203fa5303046024dd0feb599
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 08:37:35 2020 +0200

Cleanup: declaration and implementation function signature did not match

commit f93e0f1a9eefb162cf9432240b101a5d9c372910
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 10 15:23:52 2020 +0200

Refactor override code to properly deal with runtime rna properties too.

The triplet static RNA / runtime RNA / custom properties is a real pain to
deal with...

Using the new `PropertyRNAOrID` struct helps clarifying and properly
dealing with all three cases.

Note that this makes override of py-defined RNA properties working
(support for that will be committed next).

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

commit 337e2c902930d8a8980505d66234bc46c95b051c
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 10 15:19:40 2020 +0200

RNA: refactor how we get 'ensured' RNA properties.

Introduce new PropertyRNAOrID structure, storing most useful data about
an 'opaque' PropertyRNA in relation with a given PointerRNA struct.

It deals with all the three cases (pure static RNA, runtime RNA where
data is actually stored in IDProperties, and pure IDProperties, aka
custom data.

commit 6c1157201a143574c005147367bb2fd4ab320e73
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 22:59:12 2020 +1000

Cleanup: simplify platform define checks

Platforms besides WIN32 were in a single else clause, use elif instead.

commit 45287f909cce952ef1a248612ed8c0a1ab45846c
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 22:58:30 2020 +1000

Fix for building on systems besides apple/windows/linux

commit 26d28ade26f7a8e55c4e290c209948345f47eb45
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:40:23 2020 +0200

Cleanup: follow code style

commit c806db63130b362284a90e96610939a8e2572deb
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:22:35 2020 +0200

Functions: add utility to find dependencies of input sockets

commit 60133ff98d8602f0a4a2199c76fdbd42820d1233
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:20:39 2020 +0200

Functions: store derived node tree and network in map for future access

commit 295b3aefb0bd884ebec7f838b9dffcbcce3b4eea
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:19:45 2020 +0200

Functions: make constant folding work on unfinished networks

commit 7bae599232ab5d00a0b7a9e310741df6fbea204f
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:18:51 2020 +0200

Nodes: add redundant name check in debug builds to prevent errors

commit 3121015dceb1d269d79690c8f15c8e1406c9b09f
Author: Jeroen Bakker <jeroen@blender.org>
Date: Fri Jul 10 13:37:12 2020 +0200

Fix Crash due to recent changes

{39b525e0f07fa25dcda54226ade789959b642dec} could write in unallocated
space.

commit 00eb6a56aa3d942c4a5cf723ac58d81952ff8a9f
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Fri Jul 10 13:30:08 2020 +0200

GPencil: Fix tooltip error

The tooltip was copied by error from Lattice modifier.

commit 8fd65a225240fff200facdb916b0bf2c3026df7d
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:56:57 2020 +0200

Functions: use new is-equal and hash function of CPPType

commit 3edd2832b2f6cb24581951ee592917c524900fb5
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:54:19 2020 +0200

Functions: make generic types hashable

commit f62204718bf8efc1661fd61cf85d24bc8268f763
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:53:50 2020 +0200

BLI: initial hash function for Color4b and float4x4

commit 8f6c0f224252f722c5cd64db85b425f33ad72182
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:41:51 2020 +0200

Functions: make generic types equality comparable

commit 52636c3059de1f8b4ec092cd8fa4c535be59867e
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:36:06 2020 +0200

Cleanup: various cleanups in for CPPType

commit 39b525e0f07fa25dcda54226ade789959b642dec
Author: Jeroen Bakker <jeroen@blender.org>
Date: Fri Jul 10 12:05:31 2020 +0200

Fix T78296: Performance - Use Binary Search for MDeformWeight

Use binary search for querying deform weights.

Spring 02_020_A.anim.blend on Ryzen 1700X goes from 12.4 to 12.7fps.

During profiling it was detected that adding new items to the head was faster than adding to the tail.

Reviewed By: Campbell Barton

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

commit 77a646279db72b52dd77e7c4160c3dff4e30c99e
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:04:32 2020 +0200

Cleanup: structure CPPType according to code style guide

commit 9c25731781b38f67bc31bc88055cd66fa848ee75
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 10 11:53:11 2020 +0200

LibOverride: Fix improper tagging of more of the backward pointers in RNA nodetrees.

commit 582a0b7e5a3717b7d45330981d736d11f6efba62
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 19:02:18 2020 +1000

Fix T78756: White UV drawing is displayed as Dashed

commit 7a9028cad164fb20ebce6689c823dc85b6890860
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 18:58:36 2020 +1000

Fix UV rip failing to disable proportional edit-mode

commit a148c4676b925d223b099edb17a58c7fd9a0a215
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 16:04:09 2020 +1000

Cleanup: spelling

commit 03f5acd445786393bfd0f093ad25143afe8dead1
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 16:03:12 2020 +1000

Cleanup: clang-format

commit 8b660ea0ecd2a8faa81012c7f849b86cff9bfac6
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 13:36:16 2020 +1000

Fix UV path redo in vert/edge mode

Redo was only working in some situations,
some options were also not being forwarded.

commit 96068324cd570e336f79fa543ad2ed7d3889f169
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 13:35:44 2020 +1000

Fix BM_loop_at_index_find lookup

commit 89cb41faa0596d898f850f68c46e2b39c25e6452
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 12:55:59 2020 +1000

UV: allow ripping face-regions

This changes the behavior of rip when entire faces are selected.
Now face regions are isolated and moved instead of ripping the edge-loop
extracted from the selection boundary.

This is a convenient alternative to separate selection & move.
Resolves T78751.

commit 3fdd092649c038550776970ee7ded56afc3e94ab
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 12:38:28 2020 +1000

Cleanup: face-center mesh calculation

Loop over faces and calculate their centers instead of zeroing the
face center array and accumulating all faces vertex corners.

Move subsurf face center extraction into it's own loop since it works
differently.

commit b0378440ce509f2be08404ff04f3b78adc43ded8
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 12:18:43 2020 +1000

Fix missing adjacent UV check for recent UV path select

Path selection could cross UV islands if the destination element was
on an island boundary.

commit 8f24ec2e26ac634789ed9027dcfe6d1cd14782a7
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 12:04:29 2020 +1000

Cleanup: add BLI_linklist_find_last

This makes adding to the end of a linked list simpler,
In most cases we avoid this in favor of BLI_linklist_append.

For one off operations it's OK.

commit 3dd460aa7fbb7021130b58f7809cfda5b69df201
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:41:14 2020 +1000

Cleanup: spelling

commit a0d3b60015e890d3c383f9c6fd23dbed2fc71d70
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:46:26 2020 +1000

Cleanup: use FLT_MAX for the maximum path selection cost

A large number below FLT_MAX was used to avoid overflow,
however this doesn't cause any problems.

commit 0b77e2f4c4370b1f54c3562c39081c4189355ceb
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:31:41 2020 +1000

Cleanup: variable names, use define for maximum path cost

commit 92bc2779503bf3f41ede76ce690f520ea9c09e5d
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:40:38 2020 +1000

Cleanup: undeclared warnings

commit 3623db7784b377cfe9c0428f7a9dd4c06415241a
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 19:03:50 2020 +0200

BLI: add more operator overloads for float2

commit 03a00bda2b3f6729997ddfa31dfe84cc56e7707e
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Thu Jul 9 17:16:24 2020 +0200

Sculpt: Make Sculpt Vertex Colors features experimental

This disables all Sculpt Vertex Colors tools, operators, panels and rendering capabilities and puts them under the "Use Sculpt Vertex Colors" experimental option.

Reviewed By: brecht

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

commit 1e3247c0787df31c34e0fdc03c6fa11b35e55d03
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 18:19:39 2020 +0200

Fix: add missing extern "C"

commit a90b69d06593625ae21d5d1cefea2871fe4249f2
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 9 18:04:13 2020 +0200

Build: add more libc compatibility functions for upcoming libraries update

These are needed by the x264 library.

commit 6778949e0114ab4bb6c157c03948f86b13b73ea2
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Thu Jul 9 17:56:00 2020 +0200

Fix repeated Face Sets IDs when joining meshes

As Face Sets IDs start from 0 and increase by 1 each time a new face set
is created in a mesh, when joining multiple meshes it could happen that
the same ID is used by several unrelated areas in multiple objects. This
checks the Face Sets IDs when joining meshes and ensures that they are
not repeated between different objects when joining them, so in the
resulting mesh all previous face sets will have different IDs.

Reviewed By: sergey

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

commit 7b1c406b5431ce65d84ddb5f2c53977c25c18373
Author: Bastien Montagne <bastien@blender.org>
Date: Thu Jul 9 15:33:34 2020 +0200

Implement T77959: Never duplicate linked data during deep-copy.

Note that this behavior is enforced on user level for now, but on code
side it is controlled with a flag, which should make it easy to refine
that behavior if needed.

Only exception is when we duplicate a linked ID directly (then we assume
user wants a local deep-copy of that linked data, and we always also
duplicate linked sub-data-blocks).

Note that this commit also slightly refactor the handling of actions of
animdata, by simplifying `BKE_animdata_copy_id_action()` and adding an
explicit new `BKE_animdata_duplicate_id_action()` to be used during ID
duplication (deep copy).

This also allows us to get rid of the special case for liboverrides.

commit 78b629a98f0c7c5c2c8f3b6b6d1081646cbe6fde
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Wed Jul 8 18:10:31 2020 +0200

Sculpt: Skip fully hidden nodes in sculpt tools

As tools iterators skip not visible vertices, fully hidden nodes can
also be skipped and considered as masked.

Reviewed By: sergey

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

commit 1fb667da013f19124eb4440411c28996d97f67f8
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Tue Jul 7 23:01:51 2020 +0200

Fix wrong upate flag when updating the PBVH visibility

This function was using the wrong flag to update the visibility state of
the nodes, so I assume that most of the partially visible optimizations
were not working.

Reviewed By: sergey

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

commit e5ebaa9fd6ee227427e19eafd47ae087ab95eae1
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Wed Jul 8 17:22:11 2020 +0200

Fix T78664: Implement Mesh and Face Set boundary automasking in Multires

This implements the SCULPT_vertex_is_boundary and SCULPT_vertex_has_unique_face_set functions for PBVH_GRIDS, which makes features such as automasking now work in multires. It also fixes some other face sets related features in multires, like face set boundary smoothing.

This uses the BKE_subdiv_ccg_coarse_mesh_adjacency_info_get function to get the vertex indicies in the base mesh from multires. This way the API functions can get topology or face set information directly from it. In the future, these vertex indices can be used to get any other information from the base mesh from multires, like seams, sharp edges, disconnected elements IDs...

Reviewed By: sergey

Maniphest Tasks: T78664

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

commit bd84b2cbcced79d021decfb9a8ac5862609a694f
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Sat Jul 4 18:28:40 2020 +0200

Fix Sculpt Vertex Colors sample color changing brush alpha

It is not practical to change the alpha of the paint color with the
color picker as with the current brush design alpha is the main strength
control for the brush.

Reviewed By: sergey

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

commit 13b1374497bfa3bd1eca401daab89164da50f747
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Thu Jul 9 17:41:04 2020 +0200

Fix crash when using Mask by Color in Multires

Reviewed By: sergey

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

commit 78d48343ae0ece8723d2404d6f07354a7ce9512b
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Thu Jul 9 15:59:57 2020 +0200

Make deps: Fix compilation error on CentOS

There were two issues.

First is related on ISPC's CMake configuration forcing C and C++
compilers to be clang and clang++. This goes against of desired
behavior when we use our own compiled clang compilers.

The second issue was related on linker failure: CLang libraries
are linked statically, and they need some of C++ 11 STL symbols
which are coming from libstdc++.

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

commit 2be0ae7c992d59dd74cffb8997bfdf5bcdf3c48d
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 9 16:51:48 2020 +0200

Fix Cycles unnecessary updates to camera in viewport render

Problem identified by Milan Jaros.

commit 9de09220fc5fcae72bba203c641f67e75eb7ebc5
Author: Szymon Ulatowski <szulat>
Date: Thu Jul 9 17:19:52 2020 +0200

EEVEE: Implement the missing Sky texture

I'm not sure if the Sky was deliberately left out or was just waiting for a
better moment, but so many I was disappointed that Sky in EEVEE is
completely white.

There are already 2 implementations (osl and gpu) so this is the third one.
Looking at other cases it seems that we are not supposed to share sources
between cycles and the rest? So the new util_sky_model files are just
copies of what is already in cycles, except that the data file uses the RGB
variant of the Hosek/Wilkie model, because we output RGB anyway (but can be
easily changed to XYZ if desired - the results are nearly identical).
I am not sure if it is okay to pass 3*9 float values as 3 mat4 uniforms (I
wanted to use mat3 but it does not work).
Also, should I cache the sky model data between renders if the parameters
do not change?

Reviewed By: fclem, brecht

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

commit 42c99ec15bfb9fb43127392cc5995ab78246d66e
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 16:37:44 2020 +0200

BLI: rename rand.c to rand.cc

commit 580d50091cfb0467cbde165058a6e78ef4898045
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 15:40:27 2020 +0200

Particles: Create a simulation state for every Particle Simulation node

Every Particle Simulation node has a name (or a path when it is in a node group).
This name has to be used in the Simulation modifier on a point cloud to see
the particles.

Caching has been disabled for now, because it was holding back development
a bit. To reset the simulation, go back to frame 1.

Currently, there is no way to influence the simulation. There are just some
randomly moving points. Changing that is the next step.

commit 31ad43a3c7dde771cb6d92b6d20bf7b2e3f2bed6
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 15:29:25 2020 +0200

Blenloader: make BLO_read_data_address work in C++

commit 544c435fdd2b3fe0c688c1d8715dec7d0d4f90a7
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 9 12:20:07 2020 +0200

Fix T78745: Cycles error baking with multiple materials

commit 8ddf7556a512b2b2ce89b75c9660e01a7aba8675
Author: Bastien Montagne <bastien@blender.org>
Date: Thu Jul 9 11:44:11 2020 +0200

Fix T78718: Crash when deleting particle system modifier with the X Shortcut.

Duplication and deletion code of modifiers was totally wrong for
particle system, that special weird thing needs its own custom
management.

Note that for now I chose not to duplicate the particle settings ID when
duplicating the modifier...

commit ea5fe7abc183c1e53d327f97280f589499fe60bb
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 17:29:17 2020 +1000

UV: path selection support

This adds support for path selection for vertex edge & face selection
modes, matching mesh editing behavior, useful with the UV rip tool.

Region select & edge tagging are currently not supported,
although they could be added eventually.

commit 0b8221683fa9b4d228728dcf3c2e95389315a4a6
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 9 18:23:16 2020 +1000

BMesh: add utility functions

- BM_edge_uv_share_vert_check
- BM_face_uv_calc_center_median_weighted
- BM_loop_at_index_find

commit 0b3bf69d3cf578dc84f1bbce15142137bdaac0b4
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 9 13:33:15 2020 +1000

Cleanup: move BMesh UV queries into their own file

commit 754c5d6a14d411773fb253dc5b289985a8669eb6
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 9 13:29:48 2020 +1000

Cleanup: clang-format

commit 31bc76ea4e4b83a728b88735bee48019125b4c54
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 22:29:10 2020 +0200

Cleanup: remove unnecessary calls to as_span

This uses the new implicit conversions and constructors
that have been committed in the previous commit.

I tested these changes on Linux with gcc and on Windows.

commit 403384998a6bb5f428e15ced5503206b45032b25
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 22:27:25 2020 +0200

BLI: improve constructors and conversions to span

This allows us to avoid many calls to `as_span()` methods. I will
remove those in the next commit. Furthermore, constructors
of Vector and Array can convert from one type to another now.

I tested these changes on Linux with gcc and on Windows.

commit 4b85ed819dc0746f6fc46eab1019aab4c4fcf9c9
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 20:41:00 2020 +0200

Cleanup: remove unused function

This is not necessary in C++17 anymore.

commit f7d5d4ee3bad522691fba36fcfae321a28752d20
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 20:39:12 2020 +0200

Cleanup: use c++17 helper variable templates

commit e4926c167bac80297bd1808e020510ec0d17369f
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 8 18:08:08 2020 +0200

Fix T78718: Crash when deleting particle system modifier with the X Shortcut.

Again those backward pointers not properly flagged in RNA, hence
generating infinite loops.

commit f4a39cafa1e8b003b2aaf3deba73bd8cff7a822f
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 17:05:40 2020 +0200

Functions: add AttributesRef class

This is the same as MutableAttributesRef, but the data in it cannot be changed.

commit 439c238bb4aa0331f0c7826b5f06fd6f4141ac15
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 17:04:50 2020 +0200

Cleanup: use different internal socket name

commit 05365d1376760d70751243ae6360e2fd61f5a213
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 17:04:09 2020 +0200

Functions: support hashing MFDataType and CPPType

commit 2de5de57c58521862e0fecc95fc474ea347b7468
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Wed Jul 8 15:03:06 2020 +0200

Build: fix stack linker warning with ffmpeg on macOS

The ff_cfhd_init_vlcs() function was using a lot of stack space, which
made linker on macOS unhappy. Using heap allocation allows to silence
the warning without causing other side-effects.

Kept the patch enabled for all platforms to avoid difference in behavior
and performance on different platforms, which could make certain types
of investigation very tricky.

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

commit cb3c4218bf4f97a0105d6bd6b7625c452b17505e
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 8 15:43:57 2020 +0200

Minor cleanup in rna override code.

commit d1f4546a5918d3c8154a74294d5011f1ddb387d6
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:10:24 2020 +0200

Functions: implement common subnetwork elimination optimization

This was the last of the three network optimizations I developed in
the functions branch. Common subnetwork elimination and constant
folding together can get rid of most unnecessary nodes.

commit e3e42c00cb895f7e97c8f022d135dba351d47553
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:06:32 2020 +0200

Functions: Support getting MFSocket based on its id

commit 2b9d62b73af43a54a08a2377ddcf4f44b9456cbc
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:06:04 2020 +0200

Functions: Support accessing socket index of MFSocket

commit 34d175f3721521c35d333d676493848a02a96366
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:04:28 2020 +0200

Functions: initial hash/equals implementation for constant multi-functions

commit 840941215d42bb48fdc4724ed4d7058d275df740
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:02:47 2020 +0200

Functions: allow multi-functions to override a hash and equals function

commit 36a547af7b72cd45f541c3cf7ab35c24b989bf60
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:01:33 2020 +0200

Cleanup: add correct license header to tests

commit ff133bbd33f10b87b5aaf65515453809a3730fe4
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 14:57:31 2020 +0200

BLI: add disjoint set data structure

This can be used to find separate islands in meshes efficiently (as is
done in cycles already). Furthermore, this helps to implement some
algorithms on node trees more efficiently.

commit a8ff8b64dc4d4bea9ec620920639440496dfcba0
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 14:40:34 2020 +0200

BLI: add comparison operators and hash functions for float3, etc.

commit ff444da7c45403ac0d112042c9d1d0a1992168d4
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 2 12:28:57 2020 +0200

macOS: upgrade minimum required version to 10.13 High Sierra

C++17 does not work on 10.12, and Apple extended support ended for 10.12 in
October 2019.

Maniphest Tasks: T76783, T76184

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

commit 6435acd8f6f22a20a3eb62cc0b061f36def4bc5a
Author: Brecht Van Lommel <brecht@blender.org>
Date: Wed Jul 8 12:57:59 2020 +0200

Cycles: support shader transparency for holdout objects

Now transparent areas of the object will render objects behind.

Fixes T78728.

commit 643196cc375cdaf31c3fa937ba50751376730f8b
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Wed Jul 8 11:04:49 2020 +0200

CMake: Fix spelling of Embree passed to find package

The spelling and capitalization of package name passed to find_package()
and find_package_handle_standard_args() needs to match.

Silences CMake warning about mismatch.

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

commit 45004d82e04d8cdd9cc57fc5ee2b243f8bfd7ee3
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 11:18:43 2020 +0200

Functions: add dead node removal and constant folding optimization

Those optimizations work on the multi-function network level.
Not only will they make the network evaluation faster, but they also
simplify the network a lot. That makes it easier to understand the
exported dot graph.

commit 50d7c00d9c52128db788acd4a2da2135fb87e146
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 10:16:56 2020 +0200

Cleanup: fix comment

commit 01c8aa12a17775cce03106a576f3c498d28131e4
Author: Alexander Gavrilov <angavrilov@gmail.com>
Date: Wed Jul 1 17:38:07 2020 +0300

Apply Modifier: support applying as shape key and keeping the modifier.

This can be useful to save the result of a cloth simulation as a
shape key without destroying the simulation, so it's possible to
e.g. re-run it to get other shapes, or simply use the new shape
key to start the simulation already in a draped state.

It also makes sense to allow applying as shape key even when the
mesh is shared, because the operation itself just adds a shape
key. To support this, split the apply operator into Apply and
Apply As Shapekey so that they can have different poll callbacks.

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

commit 7fcb6bc59c85beab36dbfcec91d0cfaf5291f029
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Wed Jul 8 02:10:02 2020 +0200

Fix T78324: Different Sky Texture results between CPU and GPU

The problem here was numerical precision: The code calculates the angle between
sun and view direction, and the usual acos(dot(a, b)) approach for that has
poor numerical performance for almost parallel angles.

As a result, the generally tiny difference between floating point computation
between CPU and GPU was enough to make the sun vanish at different radii,
causing different results.

The new version fixes the difference by making the computation much more robust
on both platforms.

commit afcb41a0aaafce5b99891487a402d78a337f3809
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:32:40 2020 +0200

BLI: simplify copy constructor of Array

commit eb5fb1741d5e9d5f45a8df4750a4b86ee170ee84
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:29:35 2020 +0200

Cleanup: don't end description with a '.'

commit 871310921229668efeac8638097efa99c2353a6b
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:27:34 2020 +0200

Cleanup: fix typo

commit 902ee4d13ce8cdaee869ecdb1a6925be940d0cd7
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:46:10 2020 +0200

Functions: cleanup loop that traverses the MFNetwork

commit 22158162efb6fb6b6d9af51c7be652fa9248155b
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:34:35 2020 +0200

Functions: add generic functions that output constants

commit f4633cf46c075c65d8238e3cb81de6dac95610a8
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:16:31 2020 +0200

BLI: simplify copy constructor of vector

commit 67042aa6a10bc2523ca0534f9ae4dbd276f6a59c
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 18:45:34 2020 +0200

Functions: extend multi-function network api

commit adfae89f96ea088d18b0d6f0e775c48b049a332a
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 18:40:42 2020 +0200

BLI: provide access to underlying node in dot exporter

commit a8627ea66d7825d676889e5e1b6fc915e5dd772f
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 18:39:24 2020 +0200

Functions: Add debug print and destruct callback to CPPType

commit 4990e4dd01f2b085f5d1842dfa31d79e4df92fbd
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 18:23:33 2020 +0200

Nodes: Generate multi-function network from node tree

This adds new callbacks to `bNodeSocketType` and `bNodeType`.
Those are used to generate a multi-function network from a node
tree. Later, this network is evaluated on e.g. particle data.

Reviewers: brecht

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

commit ff97545c50f458a62a2ea412f8411f8bb34b9c1c
Author: Clment Foucault <foucault.clem@gmail.com>
Date: Tue Jul 7 18:37:35 2020 +0200

Fix T75943 EEVEE: Cubemaps shows black

Caused by faulty driver implementation. Force fallback method.

commit 1e2ff4f81b14b6f65f776044445037623914d6fc
Author: Hans Goudey <h.goudey@me.com>
Date: Tue Jul 7 11:10:42 2020 -0400

Cleanup: Add braces for clang tidy

commit 0edf2fc1289dd4b85eda3697355912de35cbbc49
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue Jul 7 16:51:03 2020 +0200

BLI: Correct spin lock definition

The MSVC atomic function is defined for an unsigned type.

Not sure why this became an issue after switch to TBB by default,
maybe some CFLAGS changed to be more strict after that.

commit dad3de89dcfc809078a73b607033e4afba7a4cc0
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Tue Jul 7 11:27:09 2020 -0300

Fix: remove accidental code

`v1` and `v2` are already set.

commit d352902758f41d69948f57a55934d7456f6ebb38
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue Jul 7 11:16:31 2020 +0200

Make deps: Use own nasm for ffmpeg and x264

Fixes the warning: building for macOS, but linking in object file

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

commit 1e3c0b4b03e1b1f6a2a66539e7648a5b92fada91
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue Jul 7 10:47:09 2020 +0200

Make deps: Compile own version of nasm for Apple

The upstream version of nasm does not put version information to the
generated object files, which makes linker to show the following
warning:

building for macOS, but linking in object file

Using own patched version of nasm which puts required information to
the object file, making linker happy.

The plan is to either streamline the patch and provide it to the
upstream, or, it that takes too long, get an independent fix from the
upstream.

commit 202e7ccaaee8909f72465f67ab59626fa6dd3a48
Author: Jeroen Bakker <j.bakker@atmind.nl>
Date: Mon Jul 6 14:33:59 2020 +0200

Fix T77455: Blender Freezes when using the 3d Scale Gizmo

Issue is reported on Linux ith Intel HD6xx iGPU. Inside
`gpu_select_sample_query.c` the call to `glGetQueryObjectuiv` froze. After
bisecting this lead to the polyline shader. When using a 3d color shader
in stead of the polyline shader during selection seems to fix the issue.

Other parts of blender might also be effective, but I wasn't able to
freeze blender in these areas. When it does, we might want to add
a similar work-around to button2d, cage2d, cage3d & move3d, navigate.

Backport this patch to 2.83.

Reviewed By: Clment Foucault

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

commit d1dcd2b4648fbe99e10252ed84cc7d4c7c4e9741
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue Jul 7 16:17:36 2020 +0200

BLI: Fix mistake in SpinLock TBB migration

Copy-paste mistake.

commit 20558848d311ac0be35d01ab8331f1330a9ad450
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Tue Jul 7 09:45:53 2020 -0300

Optimization: use `BLI_bvhtree_intersect_plane` to detect faces that will be affected by the knife tool

The knife code currently calls the `BLI_bvhtree_overlap` function that
tests the overlap between the mesh tree and an AABB that encompasses the
points projected in the clip_start, clip_end and or clip_planes of the
view.

This resulted in many false positives since the AABB is very large.
Often all the triangles "overlapped".

The solution was to create a new function that actually tests the
intersection of AABB with a plane.

Even not considering the clip_planes of the view, this solution is more
appropriate than using overlap.

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

commit 630c6226e29444113950d1073175fdf1723fbe34
Author: Clment Foucault <foucault.clem@gmail.com>
Date: Tue Jul 7 16:26:01 2020 +0200

Fix T78307 UI: Drawing artifacts in the Blender UI on macOS

This was due to a bad driver which was not respecting this bit of the
specification:

`If the current primitive does not originate from an instanced draw command, the value of gl_InstanceID is zero.`

commit 737bd549b6eeee81f0573ad8e305fb8d888d82ec
Author: Patrick Mours <pmours@nvidia.com>
Date: Mon Jul 6 12:25:54 2020 +0200

Cycles: Add support for native OptiX curve primitive

This patch adds support for the curve primitive from OptiX to Cycles. It's currently hidden
behind a debug option, since there can be some slight rendering differences still (because no
backface culling is performed and something seems off with endcaps). The curve primitive
was added with the OptiX 7.1 SDK and requires a r450 driver or newer, so this also updates
the codebase to be able to build with the new SDK.

Reviewed By: brecht

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

commit 95f0f312799e10e4a9f5c884f8f20ec76d0ff363
Author: Brecht Van Lommel <brecht@blender.org>
Date: Tue Jul 7 14:45:31 2020 +0200

Fix T78692: improve UI regarding the effect of the denoiser on denoising passes

It wasn't obvious that the choice of Cycles denoiser also generates different
denoising data passes for compositing.

commit a394aac8b473962061eb3d6b3dbcf9429cbac67e
Author: Brecht Van Lommel <brecht@blender.org>
Date: Tue Jul 7 14:47:59 2020 +0200

Fix T78666: Cycles non-uniformly scaled hair renders wrong for static objects

Don't apply the matrix transform optimization in this case, curve points and
radius can't represent non-uniform scale the way is possible with triangle
meshes and vertices.

This would cause abrupt change if objects had e.g. motion blur in one frame
and not in the next.

commit 98bee41c8a3f78c612f0c4ee587fceb2730f26b4
Author: Sybren A. Stvel <sybren@blender.org>
Date: Tue Jul 7 14:30:55 2020 +0200

IO: Reversed persistent ID order in exports to Alembic and USD

Each duplicated (a.k.a. instanced) object has a Persistent ID, which
identifies a dupli within the context of its duplicator. This ID
consists of several numbers when there are nested duplis (for example a
mesh instancing empties on its vertices, where each empty instances a
collection). When exporting to Alembic/USD, these are used to uniquely
name the duplicated objects in the export.

This commit reverses the order of the persistent ID numbers, so that the
first number identifies the first level of recursion. This produces
trees like this:

ABC
`--Triangle
|--Triangle
|--Empty-1
| `--Pole-1-0
| |--Pole
| `--Block-1-1
| `--Block
|--Empty
| `--Pole-0
| |--Pole
| `--Block-1
| `--Block
|--Empty-2
| `--Pole-2-0
| |--Pole
| `--Block-2-1
| `--Block
`--Empty-0
`--Pole-0-0
|--Pole
`--Block-0-1
`--Block

It is now clearer that `Pole-2-0` and `Block-2-1` are instanced by
`Empty-2`. Before this commit, they would have been named `Pole-0-2` and
`Block-1-2`.

commit 70b1c09d7a40912b5dccc69fc95cbee2e2388eab
Author: Sybren A. Stvel <sybren@blender.org>
Date: Tue Jul 7 12:45:30 2020 +0200

IO: Fix bug exporting dupli parent/child relations

Exporting a scene to USD or Alembic would fail when there are multiple
duplicates of parent & child objects, duplicated by the same object. For
example, this happens when such a hierarchy of objects is contained in a
collection, and that collection is instanced multiple times by mesh
vertices. The problem here is that the 'parent' pointer of each
duplicated object points to the real parent; Blender would not figure
out properly which duplicated parent should be used.

This is now resolved by keeping track of the persistent ID of each
duplicated instance, which makes it possible to reconstruct the
parent-child relations of duplicated objects. This does use up some
memory for each dupli, so it could be heavy to export a Spring scene
(with all the pebbles and leaves), but it's only a small addition on top
of the USD/Alembic writer objects that have to be created anyway. At
least with this patch, they're created correctly.

Code-wise, the following changes are made:

- The export graph (that maps export parent to its export children) used
to have as its key (Object, Duplicator). This is insufficient to
correctly distinguish between multiple duplis of the same object by
the same duplicator, so this is now extended to (Object, Duplicator,
Persistent ID). To make this possible, new classes `ObjectIdentifier`
and `PersistentID` are introduced.
- Finding the parent of a duplicated object is done via its persistent
ID. In Python notation, the code first tries to find the parent
instance where `child_persistent_id[1:] == parent_persistent_id[1:]`.
If that fails, the dupli with persistent ID `child_persistent_id[1:]`
is used as parent.

Reviewed By: sergey

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

commit f2175e06a7455be6ec5affa42444cfae1d9c1726
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue Jul 7 12:43:18 2020 +0200

Mae deps: Ensure Brotli is disabled for FreeType

We don't need it and it was optionally enabled, causing Blender to fail
to link on certain configuration (when Brotli is installed via Homebrew
for example).

commit 02cd1595390e44106299701b3449e62c98c69d78
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 12:31:10 2020 +0200

Cleanup: add comment explaining operator delete

commit cc311e4a5275e22b9adfec5b2e8cc1b02edf02f7
Author: Sybren A. Stvel <sybren@blender.org>
Date: Tue Jun 30 15:13:54 2020 +0200

IO: print export name instead of object name in debug export graph output

This is just a change in `AbstractHierarchyIterator::debug_print_export_graph()`
to aid in debugging. It'll make it possible to distinguish between
different duplicates of the same object.

No functional changes to Blender itself.

commit 5761cb9ee2ac38433751b148ba0a4f7f53d7d6ba
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 11:52:45 2020 +0200

Guarded Allocator: add missing operator delete

This resolves warning C4291 on windows.

commit 80fe5e1b15c03ddf363617febf01b8090d1a42b5
Author: Johan Walles <walles>
Date: Tue Jul 7 11:09:31 2020 +0200

UI: Add units to motion tracking solve errors

The unit being "pixels".

Before this change the solve errors were unitless in the UI.

With this change in place, the UI is now clear on that the unit of the
reprojection errors is pixels (px).

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

commit 6d9a6f12b330912e3ee6f200cca621893aa00fc3
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue Jul 7 10:06:14 2020 +0200

Make deps: Fix compilation error of Python on macOS

The configuration was confused about gettext installed via Homebrew
and isysroot passed to Python's compilation but not to test programs.

After this change `import gettext` still works, but it is unclear how
to test it further,

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

commit 955abbeff285b72dc8759b9e8f12ddedcaaa7999
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 09:01:01 2020 +0200

Fix sign conversion error

commit e233ee1c1fb167c69afb0c3f8d0c067bd67d2814
Author: Philipp Oeser <info@graphics-engineer.com>
Date: Thu Jun 25 14:37:22 2020 +0200

Fix T78186: Dyntopo panel error with tools that dont have a brush

Maniphest Tasks: T78186

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

commit 19d4e265b655982945464a6bc24b093e86e9b84b
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 10:35:28 2020 +0200

Cleanup: remove redundant comments

Searching in these files for "_as" will reveal a comment at the
top, that explains what these methods are for. There is no need
to duplicate that knowledge all over the place.

commit 6e609f0eb0c51b955ed3002ecd82fb74136d2f9c
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 17:50:33 2020 +1000

Cleanup: use doxy comments

commit 62774badeda7d13fd3c6af57c632ff3167a608d7
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 16:06:05 2020 +1000

UI: add merge/split menus

This makes the menus and keymap match the edit-mesh
(M for merge, Alt-M for split).

commit d212b3dc43eeda100a6b82ec083a68dffb9c02c9
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Mon Jul 6 15:28:19 2020 +0200

Make deps: Fixes for macOS platform

Set of fixes which had to be made in order to have dependencies built
on own laptop:

- Require bison as a dependent software. It is required by ISPC.

On macOS it is required to be installed via Homebrew. This is because
Bison from Xcode toolchain is too old.

- Made sure Boost is compiled using clang.

Without this gcc was used, and some unsupported command line argument
was passed to it.

- Modify OGG in a way which does in fact pull fixed sized types.
They are defined in stdint.h.

Without this fix FFmpeg will not detect presence of OGG because the
test program fails to compile.

- Force disable zstd compression and make wepb optional for the TIFF
library. Without this TIFF might pick up development libraries from
Homebrew.

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

commit b28683b8b5f9a3c357af8fcd596000dc0e5f33ca
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 16:03:26 2020 +1000

Cleanup: remove unused arguments

commit 0c58970da75601473d8dcf3c508546f0b2a1d989
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 12:44:47 2020 +1000

Cleanup: spelling

commit ad0edc626d3668424a7c6d172a1be716ae932021
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 12:43:45 2020 +1000

Cleanup: unused World struct members linfac, logfac

commit e20171e59f4893b1f12e4c694eec0211629f8e06
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 6 16:39:28 2020 -0400

Fix build error with tests for removed functions

These GHash functions were removed in 12817083ec61,
so the tests should be removed too.

commit d557f05502287a55b47c86464b78771f6e64b137
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 6 16:07:54 2020 -0400

Cleanup: Use bool instead of int

commit 053e0c0af377133f046f33304a43497a7f8a22c8
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 6 15:35:21 2020 -0400

UI: Add shortcuts for shader effect panels

Only the delete shortcut applies here, although the move up and down
operators can optionally be assigned in the keymap.

See rB1fa40c9f8a81 for more details and rB5d2005cbb54b for the
grease pencil modifier panel implementation, which is the same.

commit 12817083ec615f9d3e3f0261d5d4247b81bfbbf8
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Mon Jul 6 14:44:30 2020 -0300

Cleanup: Use the BLI_edgehash API in the sewing simulation of cloths

Also remove the code in the ghash that is no longer used.

This change simplifies the existing code.

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

commit a856de700b4274ebc1735aa349f7425c7c23cbfc
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 6 13:17:07 2020 -0400

Fix T77730: ShaderFx Missing Update Notifier

This adds a notification type for shaderfx so the properties editor can
be properly notified to redraw.

Another possible solution would be to also redraw the shaderfx tab
with a ND_MODIFIER update, but this solution allows us to avoid
some unecessary redraws too. There were no existing cases of
ND_OBJECT | NC_MODIFIER updates, so those cases were
removed from buttons_area_listener.

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

commit f6f404392419f98a1fb9b8ce19b731c90a2beff3
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 6 17:59:04 2020 +0200

BLI: add methods to lookup a stored key in a set

commit 1562c9f031538219da30404a64e2a187560e5e3c
Author: Patrick Mours <pmours@nvidia.com>
Date: Mon Jul 6 17:32:32 2020 +0200

Fix OptiX viewport denoising not working when rendering scene (without OptiX) that uses unsupported features

Denoising devices do not need to load the full feature set of kernels, so only activate the denoising
feature for them (so that it is possible to use features that are supported by the render devices, but
not the denoising devices).

commit aabfd2fb9bbd5f7b64a7a800d1be00161497e745
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 6 16:55:00 2020 +0200

Cleanup: readfile: remove old deprecated OldNewMap for runtime caches.

commit ee3eba902a0b5d5f44b1cb2ff52a3a42cc9e9670
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 6 16:21:41 2020 +0200

Runtime cache preservation during undo: add support for nodes and embedded IDs.

commit bfc644dcfb52b873ad7c356cf4b05208fba17bba
Author: Sybren A. Stvel <sybren@blender.org>
Date: Mon Jul 6 16:52:28 2020 +0200

Reduce `DupliObject::persistent_id` from 16 to 8 items

For historical reasons, `DupliObject::persistent_id` was of size
`2*MAX_DUPLI_RECUR`. These reasons are now gone, and the persistent ID
always gets exactly one array element for every dupli-recursion.

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

Reviewed by: brecht

commit 0b07f9b71738c59b3834e2fc8b19779c72b3b020
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 6 15:07:12 2020 +0200

Fix T78608: Memory leak in Material properties: "Data from SCE".

Caused by recent own refactor of cache presevation handling in readfile,
EEVEE's lightcache are weird birds that can also be saved in .blend
files, need a special handling for those 'persistent' caches...

commit 99feb10b8b2ed68cb2743d3ac3464717ff65f9bd
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 23:01:36 2020 +1000

Cleanup: warning, spelling

commit 20446f07f6d88c4a4641c3248093c9be7b3751ab
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 22:52:29 2020 +1000

Docs: reference bl_rna_get_subclass_py instead of bl_rna_get_subclass

bl_rna_get_subclass only works for Nodes at the moment.

commit ffaf294c3f0b673ba327c43d91e1f5e2ff009e05
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Mon Jul 6 14:53:39 2020 +0200

Fix alignment/size issue on ARM/RPi architecture

Addresses 964305 from Debian bug tracker.

commit 924578ce190e3f6c16b45f58ec61f8dff4deb9ac
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Mon Jul 6 09:49:00 2020 -0300

Optimization: Don't compute the snap to face on the knife tool twice

Both `knife_find_closest_vert` and `knife_find_closest_edge` call
`knife_find_closest_face`. Thus, running the raycast twice and setting
values like `kcd->curr.bmface` and `kcd->curr.is_space` repeatedly.

So:
- separate `knife_find_closest_face` from `knife_find_closest_vert` and `knife_find_closest_edge`.
- rename `knife_find_closest_vert` to `knife_find_closest_vert_of_face`
- rename `knife_find_closest_edge `to `knife_find_closest_edge_of_face`.
- do not set parameters previously set.

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

commit 073c4269006c562ec062b6e72d39ff8c270cbd3b
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Mon Jul 6 09:03:33 2020 -0300

Fix faces disappearing when AutoMerge & Split

commit c632cf9ccda78dff6949821c4ee51933413da983
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:23:35 2020 +1000

Fix UV select separate not refreshing the display

commit 2c0cab03ca5666e9e852aee3471946f0eee78649
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:14:12 2020 +1000

UV: add rip region to toolbar

commit dbe171fb26a8d6d11346e8967d6e9eeb7c3cd989
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:03:45 2020 +1000

Cleanup: spelling, comments

commit 18b6c49a90e3b8f5eb04febaf0bc9bfb9db0e8a9
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 6 12:37:11 2020 +0200

Cleanup: rename namespace TimeIt to timeit

According to our style guide, namespaces should have
lower case names.

commit 572c48cf98601c66eebec27bb40cfc7e05ea341c
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 6 09:08:53 2020 +0200

BLI: improve exception safety of memory utils

Even if we do not use exception in many places in Blender, our core C++ library
should become exception safe. Otherwise, we don't even have the option
to work with exceptions if we decide to do so.

commit 703a73fa846531a0888c8f99489c8e213f5c5d81
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 6 10:56:26 2020 +0200

BLI: refactor how buffers for small object optimization are stored

Previously, there was an error when operator-> was returning an
invalid type. See error C2839.

commit 80393a0ebadc7b8e825a6ce64204bf4424650fe5
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:41:36 2020 +1000

UV: add rip tool

New rip tool matching edit-mesh rip functionality.

Useful as disconnecting UV's, especially for loops is inconvenient
without this.

This uses 'V' to rip, changing stitch to 'Alt-V'.

commit 9353477383238d3592cdcec53bdcf2bba1ac5dad
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:41:17 2020 +1000

BMesh: add BM_face_calc_uv_cross

commit b51b893df8623d35f657ffa3975ca9a7422b971d
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:40:55 2020 +1000

BMesh: add BM_loop_other_vert_loop_by_edge

commit 705015e0a42c09ae503e42ebc592c9f04f097617
Author: Jeroen Bakker <j.bakker@atmind.nl>
Date: Mon Jul 6 10:21:14 2020 +0200

Fix T78481: Workbench Shadow effects XRay

When in XRay some effects (shadow, cavity & depth of field) aren't supported.
This patch makes sure that these effects aren't enabled.

commit 4f3045999d62665409552bd9b5eb2413081103fc
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:35:41 2020 +1000

Cleanup: warnings, spelling

commit 0f617cd67ecdd5826a35c219f77f1481a63665a7
Author: Jeroen Bakker <j.bakker@atmind.nl>
Date: Mon Jul 6 07:45:10 2020 +0200

GPU: Remove local shaders workaround for Intel/Windows

It has been tested that local shaders workaround isn't needed for the
latest Windows/Intel 6xx GPU's.

Currently the local shaders workaround doesn't work anymore during the
investigation it was detected that the intel drivers didn't need it
anymore.

Local shaders should still be fixed as it is also used for some legacy
iGPU's. The current work around crashes when doing preview renders in
EEVEE as the default materials aren't available but for the work around
they should. (See T77346 for more information)

commit baf124c753d9a79948ba8e4e5ef00a02488c49a8
Author: Aaron Carlisle <carlisle.b3d@gmail.com>
Date: Sun Jul 5 16:45:56 2020 -0400

RNA Manual Reference: Update links

commit 247a28f242c2c0a8931a84df0db6e60763642f30
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 5 15:08:26 2020 +0200

Revert "BLI: refactor how buffers for small object optimization are stored"

This reverts commit 5d79f9f276b4b3e6289308c534c58e7ee3bb5e2d.

This was introducing build errors in windows. Need a bit more time to check it.

commit 5d79f9f276b4b3e6289308c534c58e7ee3bb5e2d
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 5 16:30:26 2020 +0200

BLI: refactor how buffers for small object optimization are stored

commit 464aaf27016fdaeae94f701195c289660cf4474e
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 4 17:31:02 2020 +0200

Fix T78603: GPencil Noise modifier Vertex Group influence filter missing

This was removed by error during the last refactor of modiifers.

commit 169bb4b9ce19dd47439022172e47af2df8e47338
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 4 17:28:05 2020 +0200

BLI: fix mistake in move constructor of Stack

commit 8e97694c8afe7d83cd388218165e878952412168
Author: Julian Eisel <julian@blender.org>
Date: Sat Jul 4 17:06:57 2020 +0200

Fix T78588: Material preview not visible in selection list

Logic to determine if the library icon should be used was too general.

commit 9168ea8aabd4d662ebe236f54dc64d95864c6d56
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 4 11:15:11 2020 +0200

Cleanup: Fix small typo error

commit 17603816f2c9ac342dd486105f59693a7eafb87e
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 4 11:04:21 2020 +0200

GPencil: Cleanup some comments typo

comm

Commit Details:

Full Hash: a6c80378aa38a7d32f280c774c64a5881474c3d5
Parent Commit: 74c5638
Lines Changed: +21535, -13498

Tehnyt: Miika HämäläinenViimeksi p?ivitetty: 07.11.2014 14:18 MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2020