These tests are only used by the delaunay, mesh_intersect,
and mesh_boolean files. At the suggestion of Brecht, moving
them into BLI_math_boolean.hh and math_boolean.cc.
This is a precursor to a big speed optimization in the "finding clusters"
code. Right now there is no speedup, maybe even a bit of a slowdown,
but following commits should lead to nice speed increases.
This matches what was done in a previous commit for the tool.
It makes it easier to associate a tooltip with each choice.
For this branch, I have the default solver be the Exact one;
when we merge to master, we will have to decide the best default.
Make format caught a coouple other files, sorr for not doing those
earlier.
Use a "generalized winding number" calculation to get an inside/outside
test that works reasonably well when meshes aren't closed.
This change allows one to use a plane as the cutter in a difference
operator and get the expected results.
Since the beginning of time, Boolean has not supported this.
While it might be too slow for some uses, it seems that the user
should be able to decide whether to use it or not.
The current code is only supposed to work if the input meshes
are "piecewise constant winding number" (PWN). Added a check
to see if this is true about the inputs.
These tests rely on the behavoir of the old boolean, down the the
exact values of coordinates and ordering of the output vertices.
Because I want the default behavior of boolean to be new boolean
in this branch, this is inconvenient. I will make these tests work
again if/when we merge with master. Probably by adding the flag
that invokes the old behavior to the tests.
New bevel is mostly tested by unit tests now, so disabling the
regression test for it is not a big deal.
Several bugs with the acceleration filters cauased crashes and
incorrect results. Redid the error analysis and found some mistakes.
There was also a bug in the code for checking non-trivial intersections.
Now you can boolean a standard cube and cylinder and scale the cylinder
without crashing.
Also rewrote the tri-tri intersection code to make it more understandable
and also prepare the way for more floating filters.
Several somewhat self-compensating bugs in the routine that sorts
triangles around an edge let to a bug visible with a unit cube
subtracting a unit cylinder with 4 sides. Fixed.
This fixes some "implement me" crashes and also case where one
moves a cutter completely inside the cut mesh.
Also fixed a bug in the implementation of mpq3::distance_squared.
Needed careful logic about what to do with zero volume cells.
It worked before on some cases by accident, but now it should
work on any depth stack of coincident faces.
Uses existing BMVerts, BMEdges, and BMFaces if possible.
Uses good examples for BMFaces for intersected faces.
Still todo: good examples for BMEdges when partially reusing an edge,
and UV interpolation for new faces.
commit aa8279648e
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 21:19:48 2020 +0200
Simulation: extract node tree parsing code to separate file
commit 25582aef61
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 20:51:52 2020 +0200
Simulation: separate code from node tree parsing and solver
commit 69d14c0ddb
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 17 15:18:54 2020 -0400
Fix T78959: Show current frame indicator when interface is locked
When the playhead drawing moved to an overlay, a check was added to keep
it from drawing with a locked interface. This is necessary for some overlays,
but not this one, so this removes the check, making it the responsibility of
the editor.
A context function is added to make that check easier in the future.
Differential Revision: https://developer.blender.org/D8313
commit 8b0df381d9
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Fri Jul 17 14:33:40 2020 -0300
Transform: use GHASH_ITER when restoring customdata
commit d8a6eec1a3
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 17 16:00:08 2020 +0200
Cleanup: Removed incorrect `// namespace DEG` comment
No functional changes.
commit 893eb30730
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Fri Jul 17 16:11:21 2020 +0200
Fluid: Numpy support for Mantaflow build system
Adjusted the fluid build system so that plugins that depend on numpy can be compiled as well.
Note that in this commit numpy support is still disabled. It can be enabled by re-running the Mantaflow update script with USE_NUMPY=1 and enabling WITH_MANTA_NUMPY in extern/mantaflow/CMakeLists.txt. This will happen in a future commit.
commit 0cdc75ccd2
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Fri Jul 17 15:58:13 2020 +0200
Fluid: Cleanup build system for extern mantaflow
No longer including unused dependencies. Should numpy IO be needed at some point, the Manta source update script can be configured so that the required dependencies are included again.
commit e3f8768d8a
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 14:23:57 2020 +0200
Refactor: move ParticleFunction to separate file
commit 2679236047
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 14:15:06 2020 +0200
Cleanup: avoid static initialization order issues when accessing CPPTypes
Instead of depending on static initialization order of globals use
static variables within functions. Those are initialized on first use.
This is every so slighly less efficient, but avoids a full class of problems.
commit 3ef59121a4
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 13:47:57 2020 +0200
Simulation: move initial simulation code from bf_blenkernel to bf_simulation
I removed bf_blenkernel from `nodes/CMakeLists.txt` again (added it yesterday),
because now this was causing me unresolved symbol errors... Without it, cmake
seems to link the libraries bf_simulation, bf_blenkernel and bf_nodes in the right
order. Not sure if that is just luck or if it is guaranteed.
It was possible to fix the issue by using cmakes `LINK_INTERFACE_MULTIPLICITY`,
but that is probably bad style.
commit 9582797d4b
Author: Jeroen Bakker <jbakker>
Date: Fri Jul 17 13:47:10 2020 +0200
Fix T77867: Link Duplicate Object crashes during batch creation
When using link duplicated objects it could happen that one object is
calculating the GPUBuffers and the second object is marking these
buffers invalid. This introduces threading issues.
This patch fixes this by combining the surface and surface per material
batches. Most likely the surface per material batches are used and when
requested you will most likely need the surface batch for the depth
tests and overlays.
During tests it slightly improves performance as batches aren't thrown
away without using it.
After this patch we can add a quick path for meshes with one material
and two materials.
Alternative approaches that have been checked:
- sync extraction per object: reduced performance to much (-15%)
({D8292})
- post checks: reduced the threading issues, but didn't solve it.
- separating preparation and execution of the extraction ({D8312})
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8329
commit bf2bb6db26
Author: Ankit Meel <ankitjmeel@gmail.com>
Date: Fri Jul 17 12:50:08 2020 +0530
Cleanup: silence unused variable warning
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D8328
commit 0e3d34e48f
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 12:38:15 2020 +0200
BLI: add StringRefNull.c_str() method
This should be used whenever you rely on the fact, that the
returned pointer points to the beginning of a null-terminated array.
commit 0fcd23a388
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 12:28:09 2020 +0200
Simulation: use better api for adding and removing simulation states
commit c5f61fbf48
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 17 11:29:46 2020 +0200
Cleanup: avoid warning about redundant access specifier
No functional changes.
commit 5910dbdbf7
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 17 11:36:59 2020 +0200
Nodes: move some code from blenkernel directory to nodes
This also introduces the `blender::nodes` namespace. Eventually,
we want to move most/all of the node implementation files into
this namespace.
The reason for this file-move is that the code fits much better
into the `nodes` directory than in the `blenkernel` directory.
commit 0a40c671b0
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 17 17:11:32 2020 +1000
Cleanup: consistent ordering for scene argument to UV functions
commit 83e204702d
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 23:50:33 2020 +1000
Cleanup: remove f-string use in favor of percentage for formatting
commit 618f31312c
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 17 17:35:46 2020 +1000
Fix vertex selection error from recent refactor
Temporary fix for regression in 8084b7e6e2.
commit 89a7a1c156
Author: Jeroen Bakker <jeroen@blender.org>
Date: Fri Jul 17 08:31:03 2020 +0200
Cleanup: extract draw cache sanity checks to own function
commit 608d9b5aa1
Author: Hans Goudey <h.goudey@me.com>
Date: Thu Jul 16 14:07:47 2020 -0400
UI: Add shortcuts for constraint 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.
Some refactoring of the constraint delete operator was necessary,
including adding an invoke function.
Differential Revision: https://developer.blender.org/D8238
commit b13bbb22e4
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 19:52:28 2020 +0200
Fix link error in bf_nodes
I got undefined reference errors on the `NodeMFNetworkBuilder::get_default_fn`
function under some circumstances. This symbol is definitely defined in bf_blenkernel.
The error seemed a bit undeterministic and was probably caused by some incorrect
link order. I don't get the error with this change.
commit 02a3720000
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 18:49:26 2020 +0200
Simulation: rename bf_physics to bf_simulation
Also see {rB9363c4de0635394548fa2eb8d205581313029775}.
commit 93f21ebb13
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Thu Jul 16 18:01:08 2020 +0200
Fluid: Update Mantaflow source files
Includes cleanup that resolves a -Wunused-but-set-variable warning.
commit e7c1a32a78
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Thu Jul 16 17:22:58 2020 +0200
Tests: disable ASAN when discovering tests
CMake, when it's configuring the project, runs the `blender_test` test
runner (if it exists from a previous build) to discover which tests it
contains. At this time none of the tests themselves are run, so it's not
that useful to run ASAN and have it break things when there are memory
leaks.
This commit disables ASAN by injecting `ASAN_OPTIONS="detect_leaks=0"` in
the environment variables.
It is not enough to use `set(ENV{ASAN_OPTIONS} "detect_leaks=0")` in
`tests/gtests/runner/CMakeLists.txt`, as it wouldn't be passed to the child
process.
commit a138bf57c9
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Thu Jul 16 16:10:53 2020 +0200
Tests: move tests from USD test directory into `io/common` and `io/usd`
This commit is a followup of {D7649}, and ports the USD tests to the new
testing approach. It moves test code from `tests/gtests/usd` into
`source/blender/io/common` and `source/blender/io/usd`, and adjusts the
use of namespaces to be consistent with the other tests.
I decided to put one test into `io/usd/tests`, instead of
`io/usd/intern`. The reason is that this test does not correspond with a
single file in that directory; instead, it tests Blender's integration
with the USD library itself.
There are two new CLI arguments for the Big Test Runner:
- `--test-assets-dir`, which points to the `lib/tests` directory in the
SVN repository. This allows unit tests to find test assets.
- `--test-release-dir`, which points to `bin/{BLENDER_VERSION}` in the
build directory. At the moment this is only used by the USD test.
The CLI arguments are automatically passed to the Big Test Runner when
using `ctest`. When manually running the tests, the arguments are only
required when there is a test run that needs them.
For more info about splitting some code into 'common', see
rB084c5d6c7e2cf8.
No functional changes to the tests themselves, only to the way they are
built & run.
Differential Revision: https://developer.blender.org/D8314
Reviewed by: brecht, mont29
commit 09a483a3aa
Author: Francesco Siddi <fsiddi>
Date: Thu Jul 16 17:10:15 2020 +0200
macOS: improve design of .dmg background
Differential Revision: https://developer.blender.org/D8300
commit 671c6d8afd
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 04:32:09 2020 +0200
Cleanup: Gizmo: Remove non matched glDisable
We use the polyline shader for drawing the rotation gizmo now.
This shader supports clipping without hardware clip planes.
commit 07d70a76df
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 04:31:29 2020 +0200
Cleanup: WM: Use GPUTexture API instead of raw ogl calls
commit 5099cbeec9
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 04:16:10 2020 +0200
Cleanup: GPU: Move depth/color masks functions to GPU_state
commit 436d38bb54
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 03:31:25 2020 +0200
Cleanup: GPU: Move XOR logic op to gpu_state.c
commit 3481f6eaf2
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 03:12:21 2020 +0200
Cleanup: GPU: Remove GL_DITHER usage
commit 71ac137662
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 03:01:07 2020 +0200
Cleanup: GPU: Move quad buffer stereo check to GPU module
commit 8084b7e6e2
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 02:50:55 2020 +0200
Cleanup: GPU: Replace all glReadPixels by GPU equivalent
commit ab19abe223
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 02:06:25 2020 +0200
Cleanup: Port glClear calls to GPU module functions
commit bc85081156
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Thu Jul 16 01:20:25 2020 +0200
Cleanup: DRW: remove uneeded double bind
Now that binds are permanent there is no need to setup the same
texture for each subgroups.
commit 56b8adb9e2
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 16:41:36 2020 +0200
Particles: avoid crash when connected unimplemented node
commit 1494ad20b9
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 16:33:20 2020 +0200
Particles: add implicit covnersions between Vector and Color
Not sure if these conversions are a good idea. However, we have them
in Cycles, so they be available in the simulation node tree for consistency
reasons.
commit 76bf050853
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 16:29:05 2020 +0200
Particles: simplify adding new implicit conversions between sockets
commit aa547ce88b
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Thu Jul 16 16:39:14 2020 +0200
Fluid: Update Mantaflow source files
Refactored various functions after noticing new warnings when compiling on Apple DTK devices - there should now be fewer warnings when building.
commit f64710a518
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 16:09:09 2020 +0200
Particles: change initial velocity of particles
This is only temporary, but makes testing the system a bit easier.
commit 4249d6f58e
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 16:08:18 2020 +0200
Particles: support Separate/Combine RGB nodes
commit ada173ebfd
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 15:54:18 2020 +0200
Particles: simplify Combine XYZ node
commit 72df7c23c4
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 15:49:56 2020 +0200
Particles: support Color Ramp node
commit c7aa0f9d74
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 16 14:54:45 2020 +0200
Fix T78537: too much memory usage rendering animation with persistent images
For still images, always return 0 for the current frame number. This ensures
Cycles can detects that the image did not change.
Based on patch by Vincent Blankfield.
Differential Revision: https://developer.blender.org/D8242
commit 279cc34343
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 23:44:38 2020 +1000
Keymap: disable 'Alt' click for tools prompt by default
Based on feedback from artists in the Blender Studio this is too
easy to access by accident.
This is still accessible as a preference.
commit 83955d6769
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 13:25:57 2020 +0200
Particles: support Map Range node
Only linear interpolation mode is supported for now.
commit 99fda4d31e
Author: Ray Molenkamp <github@lazydodo.com>
Date: Thu Jul 16 07:22:52 2020 -0600
deps builder: Fix typo in windows harvesting
commit 9b6088cb9d
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 14:37:21 2020 +0200
Simulation: Change BPH prefix to SIM
In a previous commit the `physics` folder has been renamed to `simulation`.
This commit updates the function/file prefix accordingly.
commit 9363c4de06
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 14:27:47 2020 +0200
Simulation: Rename `physics` directory to `simulation`
Function names will be updated in a separate commit.
This will be the place for the new particle system and other
code related to the Simulation data block. We don't want
to have all that code in blenkernel.
Approved by brecht.
commit 66b48ad8fb
Author: Brecht Van Lommel <brecht@blender.org>
Date: Thu Jul 16 12:47:28 2020 +0200
Fix git tag warning when running make update after recent changes
commit f3ea6a5b28
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 14:15:12 2020 +0200
Particles: implement more vector math operations
commit 3d8f8085fb
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 18:53:41 2020 +1000
UI: show connected icon for proportional editing in the image space
commit b882f89fe3
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 13:41:47 2020 +0200
Particles: support for most math node operations
commit 2ddb3dc617
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 13:38:23 2020 +0200
Nodes: support default function for partially implemented nodes
commit 56aa5b0d8c
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Thu Jul 16 12:58:49 2020 +0200
T73268: Link C/C++ unit tests into single executable
This commit introduces a new way to build unit tests. It is now possible
for each module to generate its own test library. The tests in these
libraries are then bundled into a single executable.
The test executable can be run with `ctest`. Even though the tests
reside in a single executable, they are still exposed as individual
tests to `ctest`, and thus can be selected via its `-R` argument.
Not yet ported tests still build & run as before.
The following rules apply:
- Test code should reside in the same directory as the code under test.
- Tests that target functionality in `somefile.{c,cc}` should reside in
`somefile_test.cc`.
- The namespace for tests is the `tests` sub-namespace of the code under
test. For example, tests for `blender::bke` should be in
`blender::bke:tests`.
- The test files should be listed in the module's `CMakeLists.txt` in a
`blender_add_test_lib()` call. See the `blenkernel` module for an
example.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D7649
commit 065a00ee3e
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Tue Jul 14 16:31:54 2020 +0200
Fix T78920: missing depsgraph relation when using sound strips in VSE
Having a sound strip in the VSE caused a missing relation error to be
logged on the console. This was caused by the AUDIO depsgraph component
not having an entry node. This commits adds that node, and sets up
relations correctly.
Differential Revision: https://developer.blender.org/D8290
Reviewed By: Sergey
commit d4ce777aed
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 11:33:35 2020 +0200
BLI: move inline include to the bottom to avoid redeclaration warning
commit d897228682
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 11:28:31 2020 +0200
BLI: move safe math functions to separate header
commit f6f93b5b12
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 11:05:13 2020 +0200
BLI: add safe_divide, safe_modf and safe_logf
Those are defined exactly as their corresponding functions in Cycles.
commit 7e0bf7a0f1
Author: Bastien Montagne <bastien@blender.org>
Date: Thu Jul 16 11:03:11 2020 +0200
LibOverride: Fix getting proper RNA path and ID from embedded ones.
Master collections and root node trees should now be working as expected
in that regard.
commit 35bfe1702c
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 16 10:46:18 2020 +0200
BLI: add safe_powf function
The same function is also used by cycles.
commit 4a9d903e2b
Author: Yevgeny Makarov <jenkm>
Date: Thu Jul 16 18:06:51 2020 +1000
Fix View3D "Mirror" menu, both "Global" and "Local" items are GLOBAL
commit 9715ad5aca
Author: Stefan Werner <stewreo@gmail.com>
Date: Thu Jul 16 09:25:55 2020 +0200
macOS: Support arm64 architecture.
Enabling all `make deps` dependencies with the exception of Embree and OIDN.
After that, Blender can be compiled on an Apple Silicon Mac just like on any
Intel based Mac. There are still compiler warnings that need to be
investigated and there are probably a couple of bug still to be discovered
and to be fixed.
Most patches to the dependencies are simple and are about disabling SSE and
setting the proper architecture to compiile for. Notable exception is Python,
where I back ported a yet to be accepted PR for upstream Python:
https://github.com/python/cpython/pull/21249
Cross compiling or buliding a Universal Binary is not supported yet.
The minimum macOS target version for x86_64 remains at 10.13, the target
for arm64 is 11.00.
Differential Revision: https://developer.blender.org/D8236
commit ad4928a171
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 17:00:16 2020 +1000
UI: avoid aligning labels for ui_item_with_label
Key-map display was doing thousands of redundant alignment operations.
Set the spacing instead as align was only set to use zero spacing.
This would have prevented the crash reported by T78636.
commit 75520894c7
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 16:32:55 2020 +1000
Fix T78636: Crash displaying many aligned buttons
Displaying user preferences search crashed on macOS when the search
contained a common character such as 'E'.
This caused alignment to 'alloca' too much memory.
Replace with a heap allocation fallback.
commit 2811de6e5c
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 13:48:01 2020 +1000
Cleanup: fix building without USE_UIBUT_SPATIAL_ALIGN defined
commit 5b099a25d7
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 13:27:50 2020 +1000
Fix T78966: Center cursor doesn't refresh the UI
commit 123e29c274
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 13:17:31 2020 +1000
Cleanup: missing CMake headers from source lists
commit 54abab53bf
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 11:07:36 2020 +1000
Cleanup: undeclared function warning, unused argument
commit a3d90337b8
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 10:58:33 2020 +1000
Cleanup: spelling
commit d11a2dfe71
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 16 10:44:37 2020 +1000
Cleanup: minor change to grease pencil material access
Rename for clarity and avoid passing in the prefix length.
commit 75a09ba2ed
Author: Richard Antalik <richardantalik@gmail.com>
Date: Thu Jul 16 02:24:37 2020 +0200
Fix T78837: Prefetching can corrupt .blend files
This happened because of typo in seq_dupli() when duplicating effect data.
Instead of duplicating data to new sequence, it was duplicated into original.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8295
commit 974e36d7d0
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 21:05:50 2020 +0200
Fix T78647 UVEdit: Crash when entering edit mode with UV Editor open
Only affects MacOS.
commit 058514aa0a
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 20:10:45 2020 +0200
PointCloud: Initial rendering support for Workbench
Also includes outline overlays. Removes the temp overlay drawing
We make the geometry follow camera like billboards this uses less
geometry. Currently we use half octahedron for now. Goal would be
to use icospheres.
This patch also optimize the case when pointcloud has uniform radius.
However we should premultiply the radius prop by the default radius
beforehand to avoid a multiplication on CPU.
Using geometry instead of pseudo raytraced spheres is more scalable as
we can render as low as 1 or 2 triangle to a full half sphere and can
integrate easily in the render pipeline using a low amount of code.
Reviewed By: brecht
Differential Revision: https://developer.blender.org/D8301
commit d4d810f817
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Mon Jul 6 21:15:36 2020 +0200
Cleanup: EEVEE: Remove concentric samples.
commit 37a8c6d809
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Mon Jul 6 21:06:16 2020 +0200
Cleanup: EEVEE: Remove unused IRRADIANCE_CUBEMAP
commit 47885abbe6
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 16:41:30 2020 +0200
Workbench: Replace viewvecs caculation by DRWView
commit cd8f3c9ee7
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 16:38:44 2020 +0200
DRW: Add glsl math libraries
Copied from eevee bsdf_common_lib.glsl
commit 2c1edcf3ef
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 15:01:59 2020 +0200
EEVEE: Fix undefined behavior in world output
commit 24c846b2b4
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 14:59:52 2020 +0200
GPU: Shader: Move IN_OUT define to shader GPU_shader_create_ex
This adds the opportunity to use it in multiple places.
commit 987d14a3b2
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 14:40:28 2020 +0200
DRW: Shader: Fix const correctness and print better debug output
commit 8e16873086
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 14:39:29 2020 +0200
DRW: Shader: Add DRW_shader_create(_fullscreen)_with_shaderlib
Some convenience function for using DRWShaderLibrary.
commit 5dcf60e053
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Wed Jul 15 14:35:57 2020 +0200
DRW: View: Add ViewVecs calculation
This will remove some code duplication between draw engines.
commit f1104c2828
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Wed Jul 15 18:52:01 2020 +0200
Fix T78369: Sculpt Vertex Colors not rendering in EEVEE
The vertex colors node was using the M_COL attribute type but Sculpt
Vertex Colors use CD_PROP_COLOR
Now the Vertex Color node also fallbacks to legacy vertex colors if
Scultp Vertex Colors are not enabled as experimental.
Reviewed By: brecht
Maniphest Tasks: T78369
Differential Revision: https://developer.blender.org/D8185
commit eb54624a9a
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 15 18:10:55 2020 +0200
LibOverride: make outliner's 'override hierarchy' use same logic as 3DView operator.
So now one can create a 'full', 'complete' override of a character from
the outliner as well.
commit 5057b28a2f
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 15 18:09:30 2020 +0200
LibOverride: move most of 'complete override creation' from ED_object to BKE_lib_override.
This code is fairly complex and can be used in more places, better not
duplicate that logic and just have it in BKE area.
commit ba100c883c
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 15 18:07:56 2020 +0200
BKE collection: add util to add a collection using another collection as 'template'.
Similar to what we already had using an object as 'template'.
commit a082e49671
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 15 15:51:13 2020 +0200
Cleanup: remove debug prints.
commit cda6da4957
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 15 18:14:03 2020 +0200
Fix error in recent commit
Obviously a copy paste error of mine...
commit ae4098e234
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Wed Jul 15 17:25:07 2020 +0200
GPencil: Fix unreported error baking mesh animation
When the mesh is linked, the materials can not be available or be the same assigned to mesh. Now, if the mesh is linked, a simple two materials conversion is used.
To get the full list of materials, the mesh must not be linked.
Also checked some indexes to be sure never get a wrong value and that materials are not created again and again.
commit 36e836d0e9
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Wed Jul 15 17:03:51 2020 +0200
Fluid: Adjusted Mantaflow version number
Version number was increased after recent OpenVDB IO changes.
commit 19d17b217a
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 15 16:48:30 2020 +0200
Particles: use CD_PROP_FLOAT3 instead of CD_LOCATION
`CD_LOCATION` was only used temporarily due to the lack
of a better alternative. This also removes the name from
`CD_LOCATION` again, because at most one layer of this
type should exist.
commit 57ec1f37e9
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 15 16:42:17 2020 +0200
CustomData: add float2 and float3 data types
This adds `CD_PROP_FLOAT2` and `CD_PROP_FLOAT3`.
Reviewers: brecht
Differential Revision: https://developer.blender.org/D8251
commit e06a346458
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Wed Jul 15 16:24:03 2020 +0200
Fix T78747: Fix mesh boundary detection and automasking
This issue was produced by a hack in the sculpt mode code from 2.80
when the sculpt API for connectivity info was not available.
The smooth brush was the only brush that needed connectivity info,
so there were 3 different smooth functions with the connectivity
queries implemented for dyntopo, meshes and grids. The mesh version
of smoothing was checking the number of connected faces to a vertex
to mask the mesh boundaries, which was not covering all cases and
was hardcoded in the smooth function itself.
This patch removes all those legacy functions and unifies all
smooth functions into a single one using the new API and the
automasking system. In order to achieve this, there were needed
some extra changes:
- The smooth brush now does not automasks the boundaries by default,
so its default preset needs to be updated to enable automasking
- The mesh boundary info is extracted once and cached in a
bitmap, similar to the disconnected elements IDs. This makes
boundary detection work as expected in all cases, solving a lot
of known issues with the smooth brush. In multires, this info is
extracted and cached only at the base mesh level, so it is much
more memory efficient than the previous automasking system.
- In order to keep the brushes responsive as they were before,
the automasking system can now skip creating the cache when it
is not needed for the requested options. This means that for
high poly meshes and simple automasking options the brushes
won't lag on start.
Reviewed By: sergey
Maniphest Tasks: T78747
Differential Revision: https://developer.blender.org/D8260
commit 10cacbbb15
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Tue Jul 14 23:15:13 2020 +0200
Fix T77417: Topology Automasking not working with individual vertices
The flood fill operation was setting the mask using to_v, so in the first
iteration when the floodfill callback was using the active vertex as
from_v and any other neighbor as to_v, the mask for the active vertex
was never set.
Now the mask is set using from_v and it checks if it should continue
propagating to the next neighbor using to_v.
Reviewed By: sergey
Maniphest Tasks: T77417
Differential Revision: https://developer.blender.org/D8294
commit 613d314251
Author: Campbell Barton <ideasman42@gmail.com>
Date: Wed Jul 15 17:35:57 2020 +1000
UV: support region fill for path select
This matches edit-mesh region selection (Ctrl-Shift-Select).
commit b3c34011c0
Author: Hans Goudey <h.goudey@me.com>
Date: Wed Jul 15 09:11:01 2020 -0400
Cleanup: Replace 0 with False for boolean argument
commit efc6f6e1ae
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 15 14:23:51 2020 +0200
Clang-Tidy: ignore some newer checks
Those checks have been added to clang tidy within the last year.
They fail when I use a clang tidy version I built from source.
Reviewers: sergey
Differential Revision: https://developer.blender.org/D8302
commit 5a11c8ba24
Author: Campbell Barton <ideasman42@gmail.com>
Date: Wed Jul 15 21:48:28 2020 +1000
Fix T68845: Follow Active Quads, divide by zero error
commit 87f8949f0e
Author: Brecht Van Lommel <brecht@blender.org>
Date: Wed Jul 15 13:37:13 2020 +0200
Fix T78930: Cycles OpenCL error on graphics cards that don't support half float
commit 44bb73e765
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Wed Jul 15 08:10:41 2020 -0300
Revert "Cleanup: simplify Weld Modifier logic"
This reverts commit 98b1a716d6.
That commit broke a few modifiers.py tests
(Screw+Weld and a weld merge threshold).
And some pairs may be lost in the first loop.
commit ff2fa59689
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 15 12:45:40 2020 +0200
Fix T76690: Incorrect liquid particle count displayed
Reviewers: sergey, sebbas
Differential Revision: https://developer.blender.org/D7852
commit 4e8fc14120
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Wed Jul 15 12:47:45 2020 +0200
GPencil: Fix name typo error
commit 7e2ffbfb25
Author: Sebastian Parborg <darkdefende@gmail.com>
Date: Wed Jul 15 12:36:48 2020 +0200
Add missing NULL assignment to D8293
Missed reseting "next_td" in that patch.
Shouldn't have caused any issues in practice, but it is nice to be
extra clear and safe in the code.
commit 50c6448781
Author: Sebastian Parborg <darkdefende@gmail.com>
Date: Wed Jul 15 12:28:32 2020 +0200
Fix T78909: Curve-edit proportional connected-only broken
Now it calculates the actual distance when traveling along the curve.
I addition to this, it also now supports cyclic curves.
Reviewed By: Campbell
Differential Revision: http://developer.blender.org/D8293
commit e8b26a0501
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 15 11:06:37 2020 +0200
Fix signed/unsigned comparison
commit 680a81fc49
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 15 10:58:54 2020 +0200
LibOverride: rework 'make override' 3DView operator.
Removed the 'select main object to override' menu when overriding an
instanced collection, this was no more used anyway.
Added new behavior allowing to select which directly linked collection
to override when trying to override an inderctly linked object. This
allows to link collections without instancing them with an empty object,
select one of their objects, and call override operator.
commit eb87b1c8f6
Author: Campbell Barton <ideasman42@gmail.com>
Date: Wed Jul 15 15:37:03 2020 +1000
Cleanup: remove assignment from a NULL struct
Quiet ASAN 'member access within null pointer' warning.
While this doesn't crash, access to 'shading'
without checking if the 'v3d' would have.
commit 920b138f83
Author: Liam Scaife <Voltist>
Date: Wed Jul 15 15:19:21 2020 +1000
UI: Add manifold extrude to extrude menu
commit e062def3b4
Author: Campbell Barton <ideasman42@gmail.com>
Date: Wed Jul 15 13:11:22 2020 +1000
Cleanup: spelling
commit 061d76f55c
Author: Campbell Barton <ideasman42@gmail.com>
Date: Wed Jul 15 13:09:06 2020 +1000
Revert "Cleanup: remove public unused function."
This reverts commit 03c8b048a1.
This commit re-introduced T76837.
While there is a comment explaining why this function is needed,
the naming of the poll function does make this confusing.
The API could be changed to avoid confusion here.
commit d493fc43bd
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Tue Jul 14 17:45:31 2020 -0300
Fix T78875: Numerical display of delta of translation is not updating in 3d view
commit 7f67e3200a
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Tue Jul 14 22:16:43 2020 +0200
Fluid: Fix liquid mesh scaling
Fixes issue with .bobj.gz and .obj mesh files not always being scaled correctly in the viewport.
commit 7e0289b618
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Tue Jul 14 22:15:00 2020 +0200
Fluid: Updated Mantaflow source files
New files include fixes for obj mesh import and minor cleanups.
commit 98b1a716d6
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Tue Jul 14 15:18:03 2020 -0300
Cleanup: simplify Weld Modifier logic
The original code to rearrange the weld vertices map was confusing.
It traverses the overlap result multiple times within a loop.
This part of the code has therefore been rethought, simplified and commented.
This also results in a slight improvement in the performance of the modifier.
commit dbcc74f801
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Tue Jul 14 18:11:28 2020 +0200
Fix T77263: Mantaflow: Cache gets deleted at changing upres factor under Particles section.
Moved fluid simulation reset to separate functions based on type.
commit 0b100e21fb
Author: Jeroen Bakker <j.bakker@atmind.nl>
Date: Mon Jul 13 14:19:13 2020 +0200
Fix T78704: RenderPass normals disapear when view isn't updated
When the view isn't updated the renderpass thought that it was rendering
the next sample, skipping the conversion from encoded to blender
normals.
This patch resets the current sample when only rendering single sample
layers.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8280
commit 6cc88e330b
Author: Jeroen Bakker <j.bakker@atmind.nl>
Date: Mon Jul 6 08:41:28 2020 +0200
Fix T78431: Update mesh_cd_layers_type_ to support 8 bytes.
Sculpt vertex colors changed the `DRW_MeshCDMask` from 4 bytes to 8 bytes, but
the functions assumed it still was 4 bytes. This patch updates the functions and
adds a compile time check.
Reviewed By: Clément Foucault
Differential Revision: https://developer.blender.org/D8215
commit 2ba1cf4b40
Author: Sebastian Parborg <darkdefende@gmail.com>
Date: Tue Jul 14 17:26:13 2020 +0200
Fix T78880: UV Editor - Match prop edit connected behavior with mesh editing and fix Rip Region double proportional checkbox
This fixes the double prop edit checkbox in the redo menu.
This also makes it so that proportional edit in connected mode now
matches how it behaves in mesh edit mode.
Without this change, ripping in UV edit mode with proportional edit on
would be useless as the UV verts you ripped will still be stuck together
even if they were not connected anymore.
Reviewed By: Campbell
Differential Revision: http://developer.blender.org/D8289
commit 797027be6b
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Tue Jul 14 16:30:01 2020 +0200
Fluid: Fix missing flag update for cache
These flags need to be set correctly in order to distinguish between data that comes from cache files and raw data that comes directly from pointers to the data in Mantaflow.
commit 14eaa9ed63
Author: Bastien Montagne <bastien@blender.org>
Date: Tue Jul 14 16:03:12 2020 +0200
LibOverride: fix for removing `use_override_library` in rB3d587efef2872.
Thanks to @JacquesLucke for the heads up.
commit 8e9dd5492a
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Tue Jul 14 15:59:40 2020 +0200
Gpencil: Simplify modifier sample mode minimal vert count fix.
For this mode is possible use strokes of 2 points.
Differential revision: https://developer.blender.org/D8138
commit c8a62e4f50
Author: Bastien Montagne <bastien@blender.org>
Date: Tue Jul 14 15:27:41 2020 +0200
Cleanup: function name not following its module conventions.
commit 6068f49c33
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 14 15:20:44 2020 +0200
BLI: remove static assert noexcept move constructors
The move constructor of `mpq_class` from GMP currently
allocates when it is moved. So, it cannot be noexcept.
Since we want to use this type, this static assert cannot
stay there.
commit 2e8a78f4d1
Author: Kévin Dietrich <kevin.dietrich@mailoo.org>
Date: Mon Jul 13 18:26:48 2020 +0200
Fluid bake: fix memory leak when path validation fails
Reviewed By: sebbas
Differential Revision: https://developer.blender.org/D8284
commit 78148e20fa
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 14 22:47:18 2020 +1000
Cleanup: remove tab indention
commit fa7ace2215
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 14 22:45:33 2020 +1000
PyAPI: support element multiplication for vector, matrix, quaternions
This was disabled during 2.8x for smooth porting of 2.7x scripts,
Now '@' is used for matrix multiplication,
support '*' to multiple vector elements.
See T56276.
commit e3fd60b182
Author: Bastien Montagne <bastien@blender.org>
Date: Tue Jul 14 14:49:59 2020 +0200
LibOverride: Outliner: Add an operation to override the selected ID and its parents.
This will override all linked data-blocks in the tree branch leading to
the selected one.
commit 140b26909e
Author: Bastien Montagne <bastien@blender.org>
Date: Tue Jul 14 11:38:25 2020 +0200
LibOverride: Move code tagging reauired dependencies of an override into BKE.
This is fairly generic code that can be re-used in other places.
commit 1e5ce39156
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Tue Jul 14 09:30:54 2020 -0300
Fix T78900: Single vertex sliding crashes
As we can see in `initVertSlide_ex`, `sld` can be `NULL`.
`sld` is dereferenced, but can still be `NULL`.
commit 01ec76842f
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 14 13:47:32 2020 +0200
Fix T77766: support animated global gravity toggle
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D8281
commit 4096330b81
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 14 13:01:46 2020 +0200
Cleanup: typo
commit 25fc84bf2e
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Tue Jul 14 10:42:35 2020 +0200
Fix wrong vector size functions used in knife tool
Should not use copy_v3_v3 on a 2 element vectors.
commit 26793d619c
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Tue Jul 14 10:26:19 2020 +0200
GPencil: Cleanup Build modifier and fix potential div by zero errors
commit 0fb08b7cc4
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 14 16:04:18 2020 +1000
Cleanup: sort header, cmake paths
commit 93e14e5935
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 14 15:53:56 2020 +1000
Fix T78883: New bezier curve points to uninitialized memory
commit 5338b36fcc
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 14 15:19:52 2020 +1000
Cleanup: spelling
commit b818f6b55f
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 13 20:10:49 2020 -0400
Fix T78902: Only check main modifier panel for expansion property
Internally the "show_expanded" property stores the expansion for every
subpanel, but for RNA we should only check the first bit of the flag that
corresponds to the main panel.
commit 0b24930541
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 13 17:16:01 2020 -0400
UI: Add missing row in curve profile template
commit 37fb586a0b
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Mon Jul 13 16:10:45 2020 -0300
Cleanup: remove unnecessary member
`Kfv-> sco` was being treated as a local variable, and can be
confusing since this value is not updated when navigating the viewport.
commit 70992ae270
Author: Ray Molenkamp <github@lazydodo.com>
Date: Mon Jul 13 12:29:53 2020 -0600
Fix: Fix build error with MSVC in BLI_span_test
span.size() returns an uint, causing a signed/unsigned comparison
using 3u sidesteps the issue
commit 6e74a8b69f
Author: Brecht Van Lommel <brecht@blender.org>
Date: Mon Jul 13 16:45:15 2020 +0200
Fix T78881: Cycles OpenImageDenoise not using albedo and normal correctly
Properly normalize buffers now. Also expose option to not use albedo and normal
just like OptiX.
commit 2b5e21fe00
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Sat Jul 11 00:19:45 2020 +0200
Sculpt: Add extra deform types to Smear
The smear brush was using the stroke direction to slide colors across
the mesh surface (this is called drag in other sculpt tools). Similarly,
other deformations can be included. The most common ones in image
editing are pinch and expand, which can be used to sharpen transitions
between colors.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8270
commit 1076952209
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Fri Jul 10 23:00:21 2020 +0200
Fix wrong variable name in Sculpt Vertex Colors experimental check
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8269
commit eb3f74a0fe
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Fri Jul 10 19:43:01 2020 +0200
Sculpt: Enable color palettes for sculpt vertex colors
Enables the color palette subpanel for brushes that have color
capabilities (only the paint brush for now)
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8268
commit 8dd2386a68
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 17:43:22 2020 +0200
IDTemplate: Minor tweak to 'make local/override' code.
Only update pointer of the template if we actually changed it...
commit fcc91faf3f
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 17:02:58 2020 +0200
Fix (unreported) bad handling of undo for some IDTemplates operations.
commit 91e67c7bda
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 13 16:55:39 2020 +0200
Cleanup: remove some incorrectly placed consts
Clang-tidy reported that those parameters could be const,
but that is not true on windows.
commit 3d587efef2
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 16:44:41 2020 +0200
LibOverride: Cleanup: Remove option to disable library overrides.
Code is mature enough now to not need this anymore, people who do not
want to use liboverrides can just not create them.
commit 5c8dd2a703
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Mon Jul 13 11:40:14 2020 -0300
Cleanup: silence warnings
commit 3dcc7c73e2
Author: Ray Molenkamp <github@lazydodo.com>
Date: Mon Jul 13 08:38:31 2020 -0600
MSVC: Fix build error with the 8.1 SDK
shobjidl_core.h only exists in the windows 10 SDK in the 8.1
SDK ShObjIdl.h will have the definitions we need, which still
exists in the 10 SDK and implicitly includes shobjidl_core.h.
so ShObjIdl.h will work on both SDK versions.
commit 29da019cb3
Author: Szymon Ulatowski <szulat>
Date: Mon Jul 13 17:02:19 2020 +0200
EEVEE: Fix sky zenith bug
Careless use of acos() in spherical coordinates transformation was
deteriorating the precision near zenith (and nadir) and producing
glitchy pixels (best seen in longer focal lengths).
Reviewed By: fclem
Differential Revision: https://developer.blender.org/D8266
commit 16989c4d1d
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 16:15:52 2020 +0200
Fix T78037: fresh install of blender 2.83.0 not able to save user startup file.
Simply remove that check ob userdef's themes, we are never read any
userdef from startup file anymore, so this check makes no more sense.
To be backported to 2.83.
commit 952279a366
Author: Sebastián Barschkis <sebbas@sebbas.org>
Date: Mon Jul 13 16:09:24 2020 +0200
Fix T76687: [Mantaflow] low domain transformation performance
Implemented G.moving suggestion from comments.
commit 5ecefc6a07
Author: Brecht Van Lommel <brecht@blender.org>
Date: Mon Jul 13 15:42:47 2020 +0200
Build: make update support for git tags
Previously it only picked the appropriate version with the
blender-vX.XX-release branches.
commit 2be7a11e43
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Mon Jul 13 15:26:00 2020 +0200
Python API: new RNA property `Screen.is_scrubbing`
This commit adds a new read-only boolean property `Screen.is_scrubbing`.
The related property `Screen.is_animation_playing` is set to `True` in
two situations:
- Animation is actually playing (for example via the Play button in the
timeline)
- The user is scrubbing through time (in the timeline, dopesheet, graph
editor, etc.)
To distinguish between these two cases, the property
`Screen.is_scrubbing` has been added.
Concept approved by @brecht.
commit b9f565881e
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Mon Jul 13 15:02:25 2020 +0200
VSE: Python API, allow creation of VSE Movie strips with missing file
It was already possible to create Sound and Image strips that reference
non-existing files. Now it's also possible to create Movie strips
referencing missing files via the Python API call
`Sequences.new_movie()`. In this case, the duration of the strip will be
set to 1 frame.
Note that this commit does not change anything in the user interface.
The Python API of the `MovieStrip` class is extended with a function
`reload_if_needed()`. This function only performs disk I/O if the movie
strip cannot produce frames, that is either when its filepath points to
a non-existing file, or when the video sequence editor has not been
shown yet (for example because it is in an inactive workspace).
This allows for the following:
```
import bpy
scene = bpy.context.scene
vse = scene.sequence_editor_create()
filepath = bpy.path.abspath('//demo.mkv')
strip = vse.sequences.new_movie("movie", filepath,
channel=2,
frame_start=47,
file_must_exist=False)
strip.frame_final_end = 327
```
This will create a new movie strip, even when `demo.mkv` does not exist.
Once `demo.mkv` has appeared at the expected location, either
`strip.reload_if_needed()` or `strip.filepath = strip.filepath` will
load it.
Differential Revision: https://developer.blender.org/D8257
Reviewed By: Sergey, ISS
commit 9db0c36af1
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 14:29:04 2020 +0200
LibOverride: add more polling checks to operators not supposed to work on overrides.
This is long work, we are still likely missing a lot of cases...
commit 03c8b048a1
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 14:15:57 2020 +0200
Cleanup: remove public unused function.
commit 9c9eb03d78
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Sun Jul 12 21:47:50 2020 -0300
Fix T78855: Knife tool crashes when the geometry has no face
I don't see the need for a BVH Tree to have root but not have leafs.
But apparently this case is possible.
commit f019164f1f
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Sun Jul 12 21:13:05 2020 -0300
Optimization: Use dedicated function to restore customdata
Called when canceling a transform operation.
commit 8074a18964
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Sun Jul 12 21:01:54 2020 -0300
Cleanup: move unchanged condition out of loop
commit 7b558a20a9
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Sun Jul 12 20:53:22 2020 -0300
Fix Extrude Manifold losing original UV
commit 976a0ff691
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 12:48:56 2020 +0200
RNA code cleanup: Fix wrong usages of `rna_idproperty_check()`.
This function is more expansive than the simpler `rna_ensure_property()`
one, and should only be used when IDProperty data is actually needed.
If one only needs to ensure it has a valid PropertyRNA pointer,
`rna_ensure_property()` is much more efficient.
Also add compiler warnings when results of those functions are unused,
this should never be the case.
commit f8afbb7657
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 12:47:49 2020 +0200
RNA property management: tweak to 'is set' information.
Only consider a full IDProperty as set if it actually exists in given
PointerRNA data.
commit 0158571b34
Author: Bastien Montagne <bastien@blender.org>
Date: Mon Jul 13 12:46:29 2020 +0200
I18n utils: fix broken case when 'settings' argument is default NULL one.
commit 7453ff73ad
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 13 12:48:46 2020 +0200
Cleanup: quiet warnings by adding const in some places
The warnings were introduced in rB725973485a909c2b732c5.
commit 725973485a
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 13 11:27:09 2020 +0200
Clang Tidy: enable readability-non-const-parameter warning
Clang Tidy reported a couple of false positives. I disabled
those `NOLINTNEXTLINE`.
Differential Revision: https://developer.blender.org/D8199
commit a19584a471
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 13 10:51:46 2020 +0200
BLI: fix constructor regression for Vector and Array
This was introduced in rB403384998a6bb5f428e15ced5.
commit 644a915b1b
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 13 10:49:59 2020 +0200
BLI: don't allow mutable span of initializer list
commit 0718c6fae0
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 13 10:40:05 2020 +0200
Cleanup: fix clang tidy warning
The code was actually correct, but clang tidy complaint about
using the Vector after it was moved from.
commit 91c763af3e
Author: Jacques Lucke <jacques@blender.org>
Date: Mon Jul 13 10:34:44 2020 +0200
Cleanup: typo
commit 6dabfacb38
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:53:54 2020 +0200
Sky: Code style and formatting fixes
Differential Revision: https://developer.blender.org/D8091
commit 6a3c91f7ad
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:53:02 2020 +0200
Cycles: Clamp Sky Texture altitude to avoid numerical issues
Differential Revision: https://developer.blender.org/D8091
commit 7aacf2e119
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:52:07 2020 +0200
Cycles: Account for Sky Texture mapping in the sun sampling code
Differential Revision: https://developer.blender.org/D8091
commit 192bd2605f
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:51:13 2020 +0200
Cycles: Change precomputed Sky Texture mapping to prioritize the horizon
Differential Revision: https://developer.blender.org/D8091
commit 41e6f9bd43
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:49:25 2020 +0200
Cycles: Add control for sun intensity in Sky Texture and change altitude to km
Differential Revision: https://developer.blender.org/D8091
commit e2736afdbe
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:44:24 2020 +0200
Cycles: Add versioning code for the new Sky Texture model
Differential Revision: https://developer.blender.org/D8091
commit 77cd8182f8
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:40:47 2020 +0200
Cycles: Remove Vector input on Sky texture when using the included sun
When using the sun, we need to sun sampling logic to avoid excessive
sampling map resolution, but that logic assumes that the Vector input
comes from the view direction.
That is the case in the vast majority of cases anyways, so the easiest
solution is to just remove the input for that case.
Differential Revision: https://developer.blender.org/D8091
commit 474dcbcf12
Author: Lukas Stockner <lukas.stockner@freenet.de>
Date: Mon Jul 13 01:39:11 2020 +0200
Cycles: Remove limits on the Sky texture's sun rotation
For animation/driver purposes, being able to go outside of the 0-360
range makes things easier.
Differential Revision: https://developer.blender.org/D8091
commit f319eec881
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 11:05:43 2020 +0200
Cleanup: disable debug code
commit 30ed51d60a
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:50:19 2020 +0200
Cleanup: unused debug variable
commit 21b20ae5ec
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 ebf9082e1c
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 838b1742fb
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:38:03 2020 +0200
Functions: minor improvements
commit 404486e66c
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 10:01:37 2020 +0200
Functions: minor api improvements
commit ee5c2f6ead
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 c7eada103c
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 18:02:06 2020 +0200
Nodes: support implicit conversions and incorrectly linked sockets
commit 06401157a6
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 17:59:43 2020 +0200
Fix: incorrect attribute type in network
commit 46b79b3d4a
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 b920875893
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:47:53 2020 +0200
Nodes: support math node in simulation node tree
commit 8fae58ce0b
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:39:17 2020 +0200
Nodes: support Value node in simulation node tree
commit 16d4373158
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 415d3ee05b
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 6e698653df
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 20:34:17 2020 +1000
Cleanup: remove unused function
commit 651db1b26f
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 15:10:05 2020 +1000
Cleanup: spelling
commit 020e0f11ff
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 d2b910fafe
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 3dc0178390
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 6fbacd6048
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 10 19:56:53 2020 +0200
Fix build error building without OpenImageDenoise
commit 48f10319c6
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 4e8fc15586
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 3e4f49fe71
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 39b525e0f0 and
3121015dce as tests are failing.
commit d5208c45fa
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 6eeb32706a
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 93791381fe
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 e65c78cd43
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 ad45b8d6a4
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 d8e648c352
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 9dbe9a753a
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 5372924983
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 77f823a240
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 47e71f4623
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 cbfedf2139
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 c2304d2f02
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 4d1c3c029e
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 f93e0f1a9e
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 337e2c9029
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 6c1157201a
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 45287f909c
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 26d28ade26
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:40:23 2020 +0200
Cleanup: follow code style
commit c806db6313
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 60133ff98d
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 295b3aefb0
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:19:45 2020 +0200
Functions: make constant folding work on unfinished networks
commit 7bae599232
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 3121015dce
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 00eb6a56aa
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 8fd65a2252
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 3edd2832b2
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:54:19 2020 +0200
Functions: make generic types hashable
commit f62204718b
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:53:50 2020 +0200
BLI: initial hash function for Color4b and float4x4
commit 8f6c0f2242
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:41:51 2020 +0200
Functions: make generic types equality comparable
commit 52636c3059
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:36:06 2020 +0200
Cleanup: various cleanups in for CPPType
commit 39b525e0f0
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 77a646279d
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:04:32 2020 +0200
Cleanup: structure CPPType according to code style guide
commit 9c25731781
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 582a0b7e5a
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 7a9028cad1
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 a148c4676b
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 16:04:09 2020 +1000
Cleanup: spelling
commit 03f5acd445
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 16:03:12 2020 +1000
Cleanup: clang-format
commit 8b660ea0ec
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 96068324cd
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 13:35:44 2020 +1000
Fix BM_loop_at_index_find lookup
commit 89cb41faa0
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 3fdd092649
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 b0378440ce
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 8f24ec2e26
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 3dd460aa7f
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:41:14 2020 +1000
Cleanup: spelling
commit a0d3b60015
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 0b77e2f4c4
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 92bc277950
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:40:38 2020 +1000
Cleanup: undeclared warnings
commit 3623db7784
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 19:03:50 2020 +0200
BLI: add more operator overloads for float2
commit 03a00bda2b
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 1e3247c078
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 18:19:39 2020 +0200
Fix: add missing extern "C"
commit a90b69d065
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 6778949e01
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 7b1c406b54
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 78b629a98f
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 1fb667da01
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 e5ebaa9fd6
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 bd84b2cbcc
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 13b1374497
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 78d48343ae
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 2be0ae7c99
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 9de09220fc
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 42c99ec15b
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 16:37:44 2020 +0200
BLI: rename rand.c to rand.cc
commit 580d50091c
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 31ad43a3c7
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 544c435fdd
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 8ddf7556a5
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 ea5fe7abc1
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 0b8221683f
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 0b3bf69d3c
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 754c5d6a14
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 9 13:29:48 2020 +1000
Cleanup: clang-format
commit 31bc76ea4e
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 403384998a
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 4b85ed819d
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 f7d5d4ee3b
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 20:39:12 2020 +0200
Cleanup: use c++17 helper variable templates
commit e4926c167b
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 f4a39cafa1
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 439c238bb4
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 17:04:50 2020 +0200
Cleanup: use different internal socket name
commit 05365d1376
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 17:04:09 2020 +0200
Functions: support hashing MFDataType and CPPType
commit 2de5de57c5
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 cb3c4218bf
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 8 15:43:57 2020 +0200
Minor cleanup in rna override code.
commit d1f4546a59
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 e3e42c00cb
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:06:32 2020 +0200
Functions: Support getting MFSocket based on its id
commit 2b9d62b73a
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:06:04 2020 +0200
Functions: Support accessing socket index of MFSocket
commit 34d175f372
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 840941215d
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 36a547af7b
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:01:33 2020 +0200
Cleanup: add correct license header to tests
commit ff133bbd33
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 a8ff8b64dc
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 ff444da7c4
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 6435acd8f6
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 643196cc37
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 45004d82e0
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 50d7c00d9c
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 10:16:56 2020 +0200
Cleanup: fix comment
commit 01c8aa12a1
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 7fcb6bc59c
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 afcb41a0aa
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:32:40 2020 +0200
BLI: simplify copy constructor of Array
commit eb5fb1741d
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:29:35 2020 +0200
Cleanup: don't end description with a '.'
commit 8713109212
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:27:34 2020 +0200
Cleanup: fix typo
commit 902ee4d13c
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:46:10 2020 +0200
Functions: cleanup loop that traverses the MFNetwork
commit 22158162ef
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:34:35 2020 +0200
Functions: add generic functions that output constants
commit f4633cf46c
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:16:31 2020 +0200
BLI: simplify copy constructor of vector
commit 67042aa6a1
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 18:45:34 2020 +0200
Functions: extend multi-function network api
commit adfae89f96
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 a8627ea66d
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 4990e4dd01
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 ff97545c50
Author: Clément 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 1e2ff4f81b
Author: Hans Goudey <h.goudey@me.com>
Date: Tue Jul 7 11:10:42 2020 -0400
Cleanup: Add braces for clang tidy
commit 0edf2fc128
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 dad3de89dc
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 d352902758
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 1e3c0b4b03
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 202e7ccaae
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: Clément Foucault
Differential Revision: https://developer.blender.org/D8217
commit d1dcd2b464
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 20558848d3
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 630c6226e2
Author: Clément 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 737bd549b6
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 95f0f31279
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 a394aac8b4
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 98bee41c8a
Author: Sybren A. Stüvel <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 70b1c09d7a
Author: Sybren A. Stüvel <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 f2175e06a7
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 02cd159539
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 12:31:10 2020 +0200
Cleanup: add comment explaining operator delete
commit cc311e4a52
Author: Sybren A. Stüvel <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 5761cb9ee2
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 80fe5e1b15
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 6d9a6f12b3
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 955abbeff2
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 09:01:01 2020 +0200
Fix sign conversion error
commit e233ee1c1f
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 19d4e265b6
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 6e609f0eb0
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 17:50:33 2020 +1000
Cleanup: use doxy comments
commit 62774baded
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 d212b3dc43
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 b28683b8b5
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 16:03:26 2020 +1000
Cleanup: remove unused arguments
commit 0c58970da7
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 12:44:47 2020 +1000
Cleanup: spelling
commit ad0edc626d
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 12:43:45 2020 +1000
Cleanup: unused World struct members linfac, logfac
commit e20171e59f
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 12817083ec,
so the tests should be removed too.
commit d557f05502
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 6 16:07:54 2020 -0400
Cleanup: Use bool instead of int
commit 053e0c0af3
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 12817083ec
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 a856de700b
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 f6f4043924
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 1562c9f031
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 aabfd2fb9b
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 ee3eba902a
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 bfc644dcfb
Author: Sybren A. Stüvel <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 0b07f9b717
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 99feb10b8b
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 23:01:36 2020 +1000
Cleanup: warning, spelling
commit 20446f07f6
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 ffaf294c3f
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 924578ce19
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 073c426900
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Mon Jul 6 09:03:33 2020 -0300
Fix faces disappearing when AutoMerge & Split
commit c632cf9ccd
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:23:35 2020 +1000
Fix UV select separate not refreshing the display
commit 2c0cab03ca
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:14:12 2020 +1000
UV: add rip region to toolbar
commit dbe171fb26
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:03:45 2020 +1000
Cleanup: spelling, comments
commit 18b6c49a90
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 572c48cf98
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 703a73fa84
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 80393a0eba
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 9353477383
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:41:17 2020 +1000
BMesh: add BM_face_calc_uv_cross
commit b51b893df8
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 705015e0a4
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 4f3045999d
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:35:41 2020 +1000
Cleanup: warnings, spelling
commit 0f617cd67e
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 baf124c753
Author: Aaron Carlisle <carlisle.b3d@gmail.com>
Date: Sun Jul 5 16:45:56 2020 -0400
RNA Manual Reference: Update links
commit 247a28f242
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 5d79f9f276.
This was introducing build errors in windows. Need a bit more time to check it.
commit 5d79f9f276
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 464aaf2701
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 169bb4b9ce
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 4 17:28:05 2020 +0200
BLI: fix mistake in move constructor of Stack
commit 8e97694c8a
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 9168ea8aab
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 4 11:15:11 2020 +0200
Cleanup: Fix small typo error
commit 17603816f2
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 4 11:04:21 2020 +0200
GPencil: Cleanup some comments typo
commit b0da78084b
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Sat Jul 4 01:27:12 2020 +0200
UI: Attempt to fix OSX widget shader issue
Some OSX GL driver implementation needs a dummy vbo read. This fixed issues
with the Hair shaders in the past.
Related to T78307
commit cad98923d0
Author: Richard Antalik <richardantalik@gmail.com>
Date: Sat Jul 4 01:02:54 2020 +0200
Cleanup: spelling
commit ea65c6a153
Author: Richard Antalik <richardantalik@gmail.com>
Date: Sat Jul 4 00:59:09 2020 +0200
Fix T78433: Adding Fade Generates Python Exception
This was caused by typo in rB67a822e08684.
commit 4bf56b37ca
Author: Nathan Craddock <nzcraddock@gmail.com>
Date: Fri Jul 3 13:31:42 2020 -0600
Cleanup: Use C-style comments in outliner files
No functional changes. Convert all C++ style comments to C comments.
Also capitalize and add full stops.
The comments themselves were not cleaned up. Some could be removed or
reworded.
commit 59ef43147e
Author: Nathan Craddock <nzcraddock@gmail.com>
Date: Fri Jul 3 12:48:00 2020 -0600
Cleanup: Remove unused outliner activation code
No functional changes. Remove commented calls to extern_set_butspace
and unused text activation code.
commit 57a48bd0ca
Author: Nathan Craddock <nzcraddock@gmail.com>
Date: Fri Jul 3 12:36:09 2020 -0600
Cleanup: Use _fn suffix for outliner button callbacks
No functional changes. Use _fn instead of _cb.
commit d7dbf90a02
Author: Sebastian Parborg <darkdefende@gmail.com>
Date: Fri Jul 3 21:22:41 2020 +0200
Clang-tidy: Enable braces-around-statements warning
commit 185fe9cd8b
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 3 18:55:32 2020 +0200
Cleanup: compiler warning
commit 46fcc12e83
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 3 18:54:04 2020 +0200
Fix error in new Hair data type file reading
commit d2db481dc7
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 18:04:40 2020 +0200
Cleanup: Blendkernel, Clang-Tidy else-after-return fixes (incomplete)
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/blenkernel` module. Not all warnings are
addressed in this commit.
No functional changes.
commit a21cb22f8b
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 11:58:43 2020 -0400
Cleanup: Deduplicate code for finding context object
Instead of manually checking the pinned object, use the existing
ED_object_active_context function. This requires adding const
to the context in that function.
commit 33a74941c5
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:30:31 2020 +0200
Cleanup: Editors, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors` module.
No functional changes.
commit 367034f210
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:30:09 2020 +0200
Cleanup: Editors/Space/UV-Edit, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/uv_edit` module.
No functional changes.
commit 651d1aa7c8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:25:04 2020 +0200
Cleanup: Editors/Transform, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/transform` module.
No functional changes.
commit 35ce16939c
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:58 2020 +0200
Cleanup: Editors/Space/sequencer, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_sequencer` module.
No functional changes.
commit a201020cd3
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:41 2020 +0200
Cleanup: Editors/Space/Clip, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_clip` module.
No functional changes.
commit f254f66587
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:22 2020 +0200
Cleanup: Editors/Space/Outliner, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_outliner` module.
No functional changes.
commit 3aa53b361d
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:08 2020 +0200
Cleanup: Editors/Space/Node, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_node` module.
No functional changes.
commit bf532b1106
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:19:13 2020 +0200
Cleanup: Editors/Space/Text, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_text` module.
No functional changes.
commit 2f6fc5a7e8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:18:56 2020 +0200
Cleanup: Editors/Space/View3D, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_view3d` module.
No functional changes.
commit b61ecb785c
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 16:34:57 2020 +0200
Cleanup: Explicit return in each `else if` block in `buttons_context()`
This is a similar change as in rB4283da83cc9.
No functional changes.
commit f43fedd400
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 17:35:31 2020 +0200
Cleanup: remove side effect in assertion
commit 4a48939f04
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 11:18:24 2020 -0400
UI: Fix bevel modifier not showing vertex group
commit cad2d32be6
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 17:09:24 2020 +0200
Clang-Tidy: Enable bugprone-misplaced-widening-cast
commit 4a5389816b
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 17:07:01 2020 +0200
Clang-Tidy: enable readability-named-parameter
commit fac2e63bc0
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 16:57:55 2020 +0200
Fix utterly broken code regarding GPUtextures of MovieClip in readfile.c
Treat those as pure runtime code, reset to NULL by reading code, for
now.
Think those could be handled like Image gputextures (i.e. considered
runtime cache and preserved across undo steps), but probably not
critical for now.
commit 1bdabd7b4f
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 16:55:13 2020 +0200
Move MovieClip to new undo cache management system.
commit 1019c9f582
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 16:54:08 2020 +0200
Clang-Tidy: enable bugprone-too-small-loop-variable
commit 883f9dd6e5
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 16:48:04 2020 +0200
Clang-Tidy: enable bugprone-assert-side-effect
Looks like we have no assertions with side effects.
commit 9739fc4d1b
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 16:44:46 2020 +0200
Clang-Tidy: More fixed of redundant check before delete
For some reason got unnoticed in the original cleanup pass.
commit 14fd91e7e8
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 16:38:01 2020 +0200
Clang-Tidy: enable bugprone-argument-comment
It was called `inverted` in the header.
commit f4fdb8efc5
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:38:49 2020 -0400
Cleanup: Remove redundant logic
commit f66aafa391
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:37:58 2020 -0400
Fix memory leak when dragging shaderfx
commit f891d4e2ad
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 16:32:12 2020 +0200
Clang-Tidy: Fix readability-delete-null-pointer warnings
Also enable it in the configuration.
commit 53d41e1a6f
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:28:13 2020 -0400
UI: Use sliders and [0, 1] ranges in ocean modifier
The ocean modifier has two properties that use a [0, 10] hard min and
hard max. The values act as factors though, so it makes more sense to
use sliders and a 0 to 1 range.
This commit also bumps the file subversion to avoid repeatedly applying
the change to the properties' range.
Differential Revision: https://developer.blender.org/D8186
commit 2a39b34a09
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 16:09:51 2020 +0200
Cleanup: Editors/Sculpt/Paint, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/sculpt_paint` module.
No functional changes.
commit fd5b093f84
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 16:01:15 2020 +0200
Cleanup: Editors/Screen, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/screen` module.
No functional changes.
commit 4283da83cc
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 15:59:48 2020 +0200
Cleanup: Explicit return in each `else if` block in `ed_screen_context()`
The `ed_screen_context()` function is approximately 700 lines long, and
its main structure is a huge chain of `else if` statements. Some of the
bodies did not return, but rather fell through and relied on the `return
-1;` at the bottom of the function. This means that in order to truly
understand what is going on in one of those `else if` blocks, it could
be required to scroll past all the following `else if` blocks,
double-checking that they all had an `else`, and then see what happens
below.
By adding explicit `return -1;` everywhere this happened, this is all
avoided, increasing local understandability of the code. Furthermore, it
makes the upcoming cleanup with the Clang-Tidy rule
`readability-else-after-return` a lot easier to do.
No functional changes.
commit de7c9f41e6
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 15:42:22 2020 +0200
Cleanup: Editors/Object, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/object` module.
No functional changes.
commit 19483125f8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 15:19:52 2020 +0200
Cleanup: Editors/Mesh, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/mesh` module.
No functional changes.
commit 7d0a0b8a6d
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 14:52:32 2020 +0200
Cleanup: Editors/Armature, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/armature` module.
No functional changes.
commit f82e52ebc8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 14:51:19 2020 +0200
Cleanup: Editors/Animation, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/animation` module.
No functional changes.
commit 17ba566018
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Fri Jul 3 02:15:54 2020 +0200
Fix Pose Brush crashing after disabling connected only in FK mode
This function was returning the ik_chain before disabling the
fake_neighbors, so when the brush was used again with fake neighbors
disabled after rebuilding the PBVH and free them, they were still
enabled in the SculptSession, causing a the crash.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8195
commit 3a59c184b9
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 16:09:58 2020 +0200
Move Scene's cache management during undo to new system.
commit a33756d783
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:09:19 2020 -0400
Cleanup: Unused variables in non-debug build
commit 6a58e15548
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:03:16 2020 -0400
Cleanup: Remove obsolete code in interface_panel.c
Some code delt with panel merging in earlier versions of Blender,
which is no longer needed. Other code delt with controls that aren't
used anymore, and in some cases have region-level equivalents.
There's a surprising amount of this unused code in this file, so removing it
will be helpful for the future.
Differential Revision: https://developer.blender.org/D7938
commit 88d358902f
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 15:54:55 2020 +0200
Clang-Tidy: Enable readability-redundant-string-cstr
commit 405e6c6cc9
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Fri Jul 3 15:53:44 2020 +0200
Fix T78555: GPencil bake animation operator loose frame setting
The values were reset for each run
commit 19ff145e66
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 09:41:55 2020 -0400
Clang-Tidy: Enable readability-redundant-control-flow
commit ffef562bf7
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 15:31:23 2020 +0200
Disable clang-tidy for code-generated RNA files
This needs some extra care, which is probably easier once the initial
pass over integration is done.
commit c9975088a9
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 15:27:12 2020 +0200
Move volume to new cache management system for undo.
commit 1e255ce031
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 15:27:02 2020 +0200
Fix T72214: Fluids: noise does not work with negative frame numbers
The issue is duplicated code. There are two functions that zero-fill
the frame number. They worked the same for positive frames numbers, but
behaved differently for negative ones.
On frame `-100`, `BLI_path_frame` outputs `-0100` and
`fluid_cache_get_framenr_formatted_$ID$` outputted `-100`.
I changed the behavior of the latter, because we depend on the behavior
of the former for much longer already.
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D8107
Starting to use floating filters to avoid expensive gmp operations
when possible. These changes speed up the sphere-sphere test with
n=64 to 5s (now 17 times slower than BMesh on this test, down from
100 times slower. But answer is correct.
Also make format.
Intersection of my spheresphere test with n=16 (two uvspheres
with 16 rings and 32 segments overlapping), time went from
12.8 seconds to 2.3 seconds on my Mac. The n=32 test went from
195.1s to 8.9s.
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: 74c56382b8f319eec881
Author: Howard Trickey <howard.trickey@gmail.com>
Date: Sun Jul 12 19:22:24 2020 -0400
Merge branch 'master' into boolmerge
commit f319eec881
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 11:05:43 2020 +0200
Cleanup: disable debug code
commit 30ed51d60a
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:50:19 2020 +0200
Cleanup: unused debug variable
commit 21b20ae5ec
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 ebf9082e1c
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 838b1742fb
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 12:38:03 2020 +0200
Functions: minor improvements
commit 404486e66c
Author: Jacques Lucke <jacques@blender.org>
Date: Sun Jul 12 10:01:37 2020 +0200
Functions: minor api improvements
commit ee5c2f6ead
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 c7eada103c
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 18:02:06 2020 +0200
Nodes: support implicit conversions and incorrectly linked sockets
commit 06401157a6
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 17:59:43 2020 +0200
Fix: incorrect attribute type in network
commit 46b79b3d4a
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 b920875893
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:47:53 2020 +0200
Nodes: support math node in simulation node tree
commit 8fae58ce0b
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 11 16:39:17 2020 +0200
Nodes: support Value node in simulation node tree
commit 16d4373158
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 415d3ee05b
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 6e698653df
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 20:34:17 2020 +1000
Cleanup: remove unused function
commit 651db1b26f
Author: Campbell Barton <ideasman42@gmail.com>
Date: Sat Jul 11 15:10:05 2020 +1000
Cleanup: spelling
commit 020e0f11ff
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 d2b910fafe
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 3dc0178390
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 6fbacd6048
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 10 19:56:53 2020 +0200
Fix build error building without OpenImageDenoise
commit 48f10319c6
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 4e8fc15586
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 3e4f49fe71
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 39b525e0f0 and
3121015dce as tests are failing.
commit d5208c45fa
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 6eeb32706a
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 93791381fe
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 e65c78cd43
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 ad45b8d6a4
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 d8e648c352
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 9dbe9a753a
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 5372924983
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 77f823a240
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 47e71f4623
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 cbfedf2139
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 c2304d2f02
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 4d1c3c029e
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 f93e0f1a9e
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 337e2c9029
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 6c1157201a
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 45287f909c
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 26d28ade26
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:40:23 2020 +0200
Cleanup: follow code style
commit c806db6313
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 60133ff98d
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 295b3aefb0
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 14:19:45 2020 +0200
Functions: make constant folding work on unfinished networks
commit 7bae599232
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 3121015dce
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 00eb6a56aa
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 8fd65a2252
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 3edd2832b2
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:54:19 2020 +0200
Functions: make generic types hashable
commit f62204718b
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:53:50 2020 +0200
BLI: initial hash function for Color4b and float4x4
commit 8f6c0f2242
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:41:51 2020 +0200
Functions: make generic types equality comparable
commit 52636c3059
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:36:06 2020 +0200
Cleanup: various cleanups in for CPPType
commit 39b525e0f0
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 77a646279d
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 10 12:04:32 2020 +0200
Cleanup: structure CPPType according to code style guide
commit 9c25731781
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 582a0b7e5a
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 7a9028cad1
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 a148c4676b
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 16:04:09 2020 +1000
Cleanup: spelling
commit 03f5acd445
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 16:03:12 2020 +1000
Cleanup: clang-format
commit 8b660ea0ec
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 96068324cd
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 13:35:44 2020 +1000
Fix BM_loop_at_index_find lookup
commit 89cb41faa0
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 3fdd092649
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 b0378440ce
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 8f24ec2e26
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 3dd460aa7f
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:41:14 2020 +1000
Cleanup: spelling
commit a0d3b60015
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 0b77e2f4c4
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 92bc277950
Author: Campbell Barton <ideasman42@gmail.com>
Date: Fri Jul 10 11:40:38 2020 +1000
Cleanup: undeclared warnings
commit 3623db7784
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 19:03:50 2020 +0200
BLI: add more operator overloads for float2
commit 03a00bda2b
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 1e3247c078
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 18:19:39 2020 +0200
Fix: add missing extern "C"
commit a90b69d065
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 6778949e01
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 7b1c406b54
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 78b629a98f
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 1fb667da01
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 e5ebaa9fd6
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 bd84b2cbcc
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 13b1374497
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 78d48343ae
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 2be0ae7c99
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 9de09220fc
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 42c99ec15b
Author: Jacques Lucke <jacques@blender.org>
Date: Thu Jul 9 16:37:44 2020 +0200
BLI: rename rand.c to rand.cc
commit 580d50091c
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 31ad43a3c7
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 544c435fdd
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 8ddf7556a5
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 ea5fe7abc1
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 0b8221683f
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 0b3bf69d3c
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 754c5d6a14
Author: Campbell Barton <ideasman42@gmail.com>
Date: Thu Jul 9 13:29:48 2020 +1000
Cleanup: clang-format
commit 31bc76ea4e
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 403384998a
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 4b85ed819d
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 f7d5d4ee3b
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 20:39:12 2020 +0200
Cleanup: use c++17 helper variable templates
commit e4926c167b
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 f4a39cafa1
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 439c238bb4
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 17:04:50 2020 +0200
Cleanup: use different internal socket name
commit 05365d1376
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 17:04:09 2020 +0200
Functions: support hashing MFDataType and CPPType
commit 2de5de57c5
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 cb3c4218bf
Author: Bastien Montagne <bastien@blender.org>
Date: Wed Jul 8 15:43:57 2020 +0200
Minor cleanup in rna override code.
commit d1f4546a59
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 e3e42c00cb
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:06:32 2020 +0200
Functions: Support getting MFSocket based on its id
commit 2b9d62b73a
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:06:04 2020 +0200
Functions: Support accessing socket index of MFSocket
commit 34d175f372
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 840941215d
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 36a547af7b
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 15:01:33 2020 +0200
Cleanup: add correct license header to tests
commit ff133bbd33
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 a8ff8b64dc
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 ff444da7c4
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 6435acd8f6
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 643196cc37
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 45004d82e0
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 50d7c00d9c
Author: Jacques Lucke <jacques@blender.org>
Date: Wed Jul 8 10:16:56 2020 +0200
Cleanup: fix comment
commit 01c8aa12a1
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 7fcb6bc59c
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 afcb41a0aa
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:32:40 2020 +0200
BLI: simplify copy constructor of Array
commit eb5fb1741d
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:29:35 2020 +0200
Cleanup: don't end description with a '.'
commit 8713109212
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 20:27:34 2020 +0200
Cleanup: fix typo
commit 902ee4d13c
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:46:10 2020 +0200
Functions: cleanup loop that traverses the MFNetwork
commit 22158162ef
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:34:35 2020 +0200
Functions: add generic functions that output constants
commit f4633cf46c
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 19:16:31 2020 +0200
BLI: simplify copy constructor of vector
commit 67042aa6a1
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 18:45:34 2020 +0200
Functions: extend multi-function network api
commit adfae89f96
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 a8627ea66d
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 4990e4dd01
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 ff97545c50
Author: Clément 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 1e2ff4f81b
Author: Hans Goudey <h.goudey@me.com>
Date: Tue Jul 7 11:10:42 2020 -0400
Cleanup: Add braces for clang tidy
commit 0edf2fc128
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 dad3de89dc
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 d352902758
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 1e3c0b4b03
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 202e7ccaae
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: Clément Foucault
Differential Revision: https://developer.blender.org/D8217
commit d1dcd2b464
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 20558848d3
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 630c6226e2
Author: Clément 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 737bd549b6
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 95f0f31279
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 a394aac8b4
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 98bee41c8a
Author: Sybren A. Stüvel <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 70b1c09d7a
Author: Sybren A. Stüvel <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 f2175e06a7
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 02cd159539
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 12:31:10 2020 +0200
Cleanup: add comment explaining operator delete
commit cc311e4a52
Author: Sybren A. Stüvel <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 5761cb9ee2
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 80fe5e1b15
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 6d9a6f12b3
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 955abbeff2
Author: Jacques Lucke <jacques@blender.org>
Date: Tue Jul 7 09:01:01 2020 +0200
Fix sign conversion error
commit e233ee1c1f
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 19d4e265b6
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 6e609f0eb0
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 17:50:33 2020 +1000
Cleanup: use doxy comments
commit 62774baded
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 d212b3dc43
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 b28683b8b5
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 16:03:26 2020 +1000
Cleanup: remove unused arguments
commit 0c58970da7
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 12:44:47 2020 +1000
Cleanup: spelling
commit ad0edc626d
Author: Campbell Barton <ideasman42@gmail.com>
Date: Tue Jul 7 12:43:45 2020 +1000
Cleanup: unused World struct members linfac, logfac
commit e20171e59f
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 12817083ec,
so the tests should be removed too.
commit d557f05502
Author: Hans Goudey <h.goudey@me.com>
Date: Mon Jul 6 16:07:54 2020 -0400
Cleanup: Use bool instead of int
commit 053e0c0af3
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 12817083ec
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 a856de700b
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 f6f4043924
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 1562c9f031
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 aabfd2fb9b
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 ee3eba902a
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 bfc644dcfb
Author: Sybren A. Stüvel <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 0b07f9b717
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 99feb10b8b
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 23:01:36 2020 +1000
Cleanup: warning, spelling
commit 20446f07f6
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 ffaf294c3f
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 924578ce19
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 073c426900
Author: Germano Cavalcante <germano.costa@ig.com.br>
Date: Mon Jul 6 09:03:33 2020 -0300
Fix faces disappearing when AutoMerge & Split
commit c632cf9ccd
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:23:35 2020 +1000
Fix UV select separate not refreshing the display
commit 2c0cab03ca
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:14:12 2020 +1000
UV: add rip region to toolbar
commit dbe171fb26
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 21:03:45 2020 +1000
Cleanup: spelling, comments
commit 18b6c49a90
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 572c48cf98
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 703a73fa84
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 80393a0eba
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 9353477383
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:41:17 2020 +1000
BMesh: add BM_face_calc_uv_cross
commit b51b893df8
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 705015e0a4
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 4f3045999d
Author: Campbell Barton <ideasman42@gmail.com>
Date: Mon Jul 6 17:35:41 2020 +1000
Cleanup: warnings, spelling
commit 0f617cd67e
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 baf124c753
Author: Aaron Carlisle <carlisle.b3d@gmail.com>
Date: Sun Jul 5 16:45:56 2020 -0400
RNA Manual Reference: Update links
commit 247a28f242
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 5d79f9f276.
This was introducing build errors in windows. Need a bit more time to check it.
commit 5d79f9f276
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 464aaf2701
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 169bb4b9ce
Author: Jacques Lucke <jacques@blender.org>
Date: Sat Jul 4 17:28:05 2020 +0200
BLI: fix mistake in move constructor of Stack
commit 8e97694c8a
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 9168ea8aab
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 4 11:15:11 2020 +0200
Cleanup: Fix small typo error
commit 17603816f2
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Sat Jul 4 11:04:21 2020 +0200
GPencil: Cleanup some comments typo
commit b0da78084b
Author: Clément Foucault <foucault.clem@gmail.com>
Date: Sat Jul 4 01:27:12 2020 +0200
UI: Attempt to fix OSX widget shader issue
Some OSX GL driver implementation needs a dummy vbo read. This fixed issues
with the Hair shaders in the past.
Related to T78307
commit cad98923d0
Author: Richard Antalik <richardantalik@gmail.com>
Date: Sat Jul 4 01:02:54 2020 +0200
Cleanup: spelling
commit ea65c6a153
Author: Richard Antalik <richardantalik@gmail.com>
Date: Sat Jul 4 00:59:09 2020 +0200
Fix T78433: Adding Fade Generates Python Exception
This was caused by typo in rB67a822e08684.
commit 4bf56b37ca
Author: Nathan Craddock <nzcraddock@gmail.com>
Date: Fri Jul 3 13:31:42 2020 -0600
Cleanup: Use C-style comments in outliner files
No functional changes. Convert all C++ style comments to C comments.
Also capitalize and add full stops.
The comments themselves were not cleaned up. Some could be removed or
reworded.
commit 59ef43147e
Author: Nathan Craddock <nzcraddock@gmail.com>
Date: Fri Jul 3 12:48:00 2020 -0600
Cleanup: Remove unused outliner activation code
No functional changes. Remove commented calls to extern_set_butspace
and unused text activation code.
commit 57a48bd0ca
Author: Nathan Craddock <nzcraddock@gmail.com>
Date: Fri Jul 3 12:36:09 2020 -0600
Cleanup: Use _fn suffix for outliner button callbacks
No functional changes. Use _fn instead of _cb.
commit d7dbf90a02
Author: Sebastian Parborg <darkdefende@gmail.com>
Date: Fri Jul 3 21:22:41 2020 +0200
Clang-tidy: Enable braces-around-statements warning
commit 185fe9cd8b
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 3 18:55:32 2020 +0200
Cleanup: compiler warning
commit 46fcc12e83
Author: Brecht Van Lommel <brecht@blender.org>
Date: Fri Jul 3 18:54:04 2020 +0200
Fix error in new Hair data type file reading
commit d2db481dc7
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 18:04:40 2020 +0200
Cleanup: Blendkernel, Clang-Tidy else-after-return fixes (incomplete)
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/blenkernel` module. Not all warnings are
addressed in this commit.
No functional changes.
commit a21cb22f8b
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 11:58:43 2020 -0400
Cleanup: Deduplicate code for finding context object
Instead of manually checking the pinned object, use the existing
ED_object_active_context function. This requires adding const
to the context in that function.
commit 33a74941c5
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:30:31 2020 +0200
Cleanup: Editors, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors` module.
No functional changes.
commit 367034f210
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:30:09 2020 +0200
Cleanup: Editors/Space/UV-Edit, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/uv_edit` module.
No functional changes.
commit 651d1aa7c8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:25:04 2020 +0200
Cleanup: Editors/Transform, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/transform` module.
No functional changes.
commit 35ce16939c
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:58 2020 +0200
Cleanup: Editors/Space/sequencer, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_sequencer` module.
No functional changes.
commit a201020cd3
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:41 2020 +0200
Cleanup: Editors/Space/Clip, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_clip` module.
No functional changes.
commit f254f66587
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:22 2020 +0200
Cleanup: Editors/Space/Outliner, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_outliner` module.
No functional changes.
commit 3aa53b361d
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:20:08 2020 +0200
Cleanup: Editors/Space/Node, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_node` module.
No functional changes.
commit bf532b1106
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:19:13 2020 +0200
Cleanup: Editors/Space/Text, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_text` module.
No functional changes.
commit 2f6fc5a7e8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 17:18:56 2020 +0200
Cleanup: Editors/Space/View3D, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/space_view3d` module.
No functional changes.
commit b61ecb785c
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 16:34:57 2020 +0200
Cleanup: Explicit return in each `else if` block in `buttons_context()`
This is a similar change as in rB4283da83cc9.
No functional changes.
commit f43fedd400
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 17:35:31 2020 +0200
Cleanup: remove side effect in assertion
commit 4a48939f04
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 11:18:24 2020 -0400
UI: Fix bevel modifier not showing vertex group
commit cad2d32be6
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 17:09:24 2020 +0200
Clang-Tidy: Enable bugprone-misplaced-widening-cast
commit 4a5389816b
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 17:07:01 2020 +0200
Clang-Tidy: enable readability-named-parameter
commit fac2e63bc0
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 16:57:55 2020 +0200
Fix utterly broken code regarding GPUtextures of MovieClip in readfile.c
Treat those as pure runtime code, reset to NULL by reading code, for
now.
Think those could be handled like Image gputextures (i.e. considered
runtime cache and preserved across undo steps), but probably not
critical for now.
commit 1bdabd7b4f
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 16:55:13 2020 +0200
Move MovieClip to new undo cache management system.
commit 1019c9f582
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 16:54:08 2020 +0200
Clang-Tidy: enable bugprone-too-small-loop-variable
commit 883f9dd6e5
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 16:48:04 2020 +0200
Clang-Tidy: enable bugprone-assert-side-effect
Looks like we have no assertions with side effects.
commit 9739fc4d1b
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 16:44:46 2020 +0200
Clang-Tidy: More fixed of redundant check before delete
For some reason got unnoticed in the original cleanup pass.
commit 14fd91e7e8
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 16:38:01 2020 +0200
Clang-Tidy: enable bugprone-argument-comment
It was called `inverted` in the header.
commit f4fdb8efc5
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:38:49 2020 -0400
Cleanup: Remove redundant logic
commit f66aafa391
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:37:58 2020 -0400
Fix memory leak when dragging shaderfx
commit f891d4e2ad
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 16:32:12 2020 +0200
Clang-Tidy: Fix readability-delete-null-pointer warnings
Also enable it in the configuration.
commit 53d41e1a6f
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:28:13 2020 -0400
UI: Use sliders and [0, 1] ranges in ocean modifier
The ocean modifier has two properties that use a [0, 10] hard min and
hard max. The values act as factors though, so it makes more sense to
use sliders and a 0 to 1 range.
This commit also bumps the file subversion to avoid repeatedly applying
the change to the properties' range.
Differential Revision: https://developer.blender.org/D8186
commit 2a39b34a09
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 16:09:51 2020 +0200
Cleanup: Editors/Sculpt/Paint, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/sculpt_paint` module.
No functional changes.
commit fd5b093f84
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 16:01:15 2020 +0200
Cleanup: Editors/Screen, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/screen` module.
No functional changes.
commit 4283da83cc
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 15:59:48 2020 +0200
Cleanup: Explicit return in each `else if` block in `ed_screen_context()`
The `ed_screen_context()` function is approximately 700 lines long, and
its main structure is a huge chain of `else if` statements. Some of the
bodies did not return, but rather fell through and relied on the `return
-1;` at the bottom of the function. This means that in order to truly
understand what is going on in one of those `else if` blocks, it could
be required to scroll past all the following `else if` blocks,
double-checking that they all had an `else`, and then see what happens
below.
By adding explicit `return -1;` everywhere this happened, this is all
avoided, increasing local understandability of the code. Furthermore, it
makes the upcoming cleanup with the Clang-Tidy rule
`readability-else-after-return` a lot easier to do.
No functional changes.
commit de7c9f41e6
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 15:42:22 2020 +0200
Cleanup: Editors/Object, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/object` module.
No functional changes.
commit 19483125f8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 15:19:52 2020 +0200
Cleanup: Editors/Mesh, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/mesh` module.
No functional changes.
commit 7d0a0b8a6d
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 14:52:32 2020 +0200
Cleanup: Editors/Armature, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/armature` module.
No functional changes.
commit f82e52ebc8
Author: Sybren A. Stüvel <sybren@blender.org>
Date: Fri Jul 3 14:51:19 2020 +0200
Cleanup: Editors/Animation, Clang-Tidy else-after-return fixes
This addresses warnings from Clang-Tidy's `readability-else-after-return`
rule in the `source/blender/editors/animation` module.
No functional changes.
commit 17ba566018
Author: Pablo Dobarro <pablodp606@gmail.com>
Date: Fri Jul 3 02:15:54 2020 +0200
Fix Pose Brush crashing after disabling connected only in FK mode
This function was returning the ik_chain before disabling the
fake_neighbors, so when the brush was used again with fake neighbors
disabled after rebuilding the PBVH and free them, they were still
enabled in the SculptSession, causing a the crash.
Reviewed By: sergey
Differential Revision: https://developer.blender.org/D8195
commit 3a59c184b9
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 16:09:58 2020 +0200
Move Scene's cache management during undo to new system.
commit a33756d783
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:09:19 2020 -0400
Cleanup: Unused variables in non-debug build
commit 6a58e15548
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 10:03:16 2020 -0400
Cleanup: Remove obsolete code in interface_panel.c
Some code delt with panel merging in earlier versions of Blender,
which is no longer needed. Other code delt with controls that aren't
used anymore, and in some cases have region-level equivalents.
There's a surprising amount of this unused code in this file, so removing it
will be helpful for the future.
Differential Revision: https://developer.blender.org/D7938
commit 88d358902f
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 15:54:55 2020 +0200
Clang-Tidy: Enable readability-redundant-string-cstr
commit 405e6c6cc9
Author: Antonio Vazquez <blendergit@gmail.com>
Date: Fri Jul 3 15:53:44 2020 +0200
Fix T78555: GPencil bake animation operator loose frame setting
The values were reset for each run
commit 19ff145e66
Author: Hans Goudey <h.goudey@me.com>
Date: Fri Jul 3 09:41:55 2020 -0400
Clang-Tidy: Enable readability-redundant-control-flow
commit ffef562bf7
Author: Sergey Sharybin <sergey.vfx@gmail.com>
Date: Fri Jul 3 15:31:23 2020 +0200
Disable clang-tidy for code-generated RNA files
This needs some extra care, which is probably easier once the initial
pass over integration is done.
commit c9975088a9
Author: Bastien Montagne <bastien@blender.org>
Date: Fri Jul 3 15:27:12 2020 +0200
Move volume to new cache management system for undo.
commit 1e255ce031
Author: Jacques Lucke <jacques@blender.org>
Date: Fri Jul 3 15:27:02 2020 +0200
Fix T72214: Fluids: noise does not work with negative frame numbers
The issue is duplicated code. There are two functions that zero-fill
the frame number. They worked the same for positive frames numbers, but
behaved differently for negative ones.
On frame `-100`, `BLI_path_frame` outputs `-0100` and
`fluid_cache_get_framenr_formatted_$ID$` outputted `-100`.
I changed the behavior of the latter, because we depend on the behavior
of the former for much longer already.
Reviewers: sebbas
Differential Revision: https://developer.blender.org/D8107
Many changes aimed at, broadly, more sharing and less copying;
and having coordinates stored simultaneously in double and multiprecision,
as that will be needed for floating predicate filtering.
Biggest change is that faces are represented by arrays of pointers to
Verts instead of as integer indices into a vertex array.
Also refactored delaunay to put the 2d mesh representation into
an externally visible CDTArrangement class. Not sure yet whether
I will use this; if I end up not using it, will move that part of
the header back into the implementation file.
Now the basic binary booleans work from the tool (not the modifier).
Still to do: (1) coplanar and non-connected-component cases;
(2) dissolve triangulation lines and new verts due only to them;
(3) properly transfer mesh attributes from old to new;
(4) hook up to modifier;
(5) attention to and tuning of performance.
Mainly namespace changes, BLI -> blender, so I changed my
own namespaces to follow that pattern.
ArrayRef -> Span.
Now can have hash() as member of data structures rather
that having to make a DefaultHash for them.
Fixed a bad assumption about Arrays of bool being initialized to false.
The code to partition space into cells is mostly done.
The code to propagate winding numbers and flag cells according to the
boolean function is mostly done.
Only final extraction code is left, and a few other things.
This is a regression in functionality from the previous version,
as I have not yet got anything beyond intersection working (and
that only for triangulated meshes). But want to get this into
the repository now while I continue to work on the functionality,
and then, the performance.
Also changed default epsilon to 1e-5 from 1e-6, as the latter
is too close to hairy edge and anyway produceds really tiny faces
and edges that I doubt users really want. There's even a case for
it being 1e-4 by default.
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.