Commit Graph

97835 Commits

Author SHA1 Message Date
Jacques Lucke 725973485a 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
2020-07-13 11:27:09 +02:00
Jacques Lucke a19584a471 BLI: fix constructor regression for Vector and Array
This was introduced in rB403384998a6bb5f428e15ced5.
2020-07-13 10:51:46 +02:00
Jacques Lucke 644a915b1b BLI: don't allow mutable span of initializer list 2020-07-13 10:49:59 +02:00
Jacques Lucke 0718c6fae0 Cleanup: fix clang tidy warning
The code was actually correct, but clang tidy complaint about
using the Vector after it was moved from.
2020-07-13 10:40:05 +02:00
Jacques Lucke 91c763af3e Cleanup: typo 2020-07-13 10:34:44 +02:00
Lukas Stockner 6dabfacb38 Sky: Code style and formatting fixes
Differential Revision: https://developer.blender.org/D8091
2020-07-13 03:08:11 +02:00
Lukas Stockner 6a3c91f7ad Cycles: Clamp Sky Texture altitude to avoid numerical issues
Differential Revision: https://developer.blender.org/D8091
2020-07-13 03:08:11 +02:00
Lukas Stockner 7aacf2e119 Cycles: Account for Sky Texture mapping in the sun sampling code
Differential Revision: https://developer.blender.org/D8091
2020-07-13 03:08:11 +02:00
Lukas Stockner 192bd2605f Cycles: Change precomputed Sky Texture mapping to prioritize the horizon
Differential Revision: https://developer.blender.org/D8091
2020-07-13 03:08:11 +02:00
Lukas Stockner 41e6f9bd43 Cycles: Add control for sun intensity in Sky Texture and change altitude to km
Differential Revision: https://developer.blender.org/D8091
2020-07-13 03:08:11 +02:00
Lukas Stockner e2736afdbe Cycles: Add versioning code for the new Sky Texture model
Differential Revision: https://developer.blender.org/D8091
2020-07-13 03:08:07 +02:00
Lukas Stockner 77cd8182f8 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
2020-07-13 02:00:38 +02:00
Lukas Stockner 474dcbcf12 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
2020-07-13 02:00:24 +02:00
Jacques Lucke f319eec881 Cleanup: disable debug code 2020-07-12 11:05:43 +02:00
Jacques Lucke 30ed51d60a Cleanup: unused debug variable 2020-07-12 12:50:19 +02:00
Jacques Lucke 21b20ae5ec 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.
2020-07-12 12:38:57 +02:00
Jacques Lucke ebf9082e1c Nodes: support more implicit conversions in simulation node tree 2020-07-12 12:38:30 +02:00
Jacques Lucke 838b1742fb Functions: minor improvements 2020-07-12 12:38:03 +02:00
Jacques Lucke 404486e66c Functions: minor api improvements 2020-07-12 10:01:37 +02:00
Antonio Vazquez ee5c2f6ead GPencil: Replace "ShaderFX" with "Shader Effects" in RNA prop text 2020-07-11 20:41:21 +02:00
Jacques Lucke c7eada103c Nodes: support implicit conversions and incorrectly linked sockets 2020-07-11 18:02:06 +02:00
Jacques Lucke 06401157a6 Fix: incorrect attribute type in network 2020-07-11 17:59:43 +02:00
Jacques Lucke 46b79b3d4a Nodes: support vector math node in simulation node tree 2020-07-11 16:55:57 +02:00
Jacques Lucke b920875893 Nodes: support math node in simulation node tree 2020-07-11 16:47:53 +02:00
Jacques Lucke 8fae58ce0b Nodes: support Value node in simulation node tree 2020-07-11 16:39:17 +02:00
Jacques Lucke 16d4373158 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.
2020-07-11 16:24:53 +02:00
Campbell Barton 415d3ee05b 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.
2020-07-11 22:09:45 +10:00
Campbell Barton 6e698653df Cleanup: remove unused function 2020-07-11 20:34:17 +10:00
Campbell Barton 651db1b26f Cleanup: spelling 2020-07-11 15:32:59 +10:00
Campbell Barton 020e0f11ff 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.
2020-07-11 14:50:47 +10:00
Aaron Carlisle d2b910fafe UI: UV: Add Select Shortest Path to menu
This matches the 3D Viewport
2020-07-10 16:07:31 -04:00
Brecht Van Lommel 3dc0178390 Fix T78662: Cycles baking fails if denoising is enabled, after recent changes
This is not supported yet.
2020-07-10 20:08:46 +02:00
Brecht Van Lommel 6fbacd6048 Fix build error building without OpenImageDenoise 2020-07-10 19:56:53 +02:00
Brecht Van Lommel 48f10319c6 Fix T78801: Eevee missing setting to enable/disable freestyle per view layer
This was only visible when Cycles was enabled.
2020-07-10 18:41:16 +02:00
Hans Goudey 4e8fc15586 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.
2020-07-10 12:21:32 -04:00
Brecht Van Lommel 3e4f49fe71 Revert "Fix T78296: Performance - Use Binary Search for MDeformWeight"
This reverts commit 39b525e0f0 and
3121015dce as tests are failing.
2020-07-10 18:03:21 +02:00
Antonio Vazquez d5208c45fa 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.
2020-07-10 17:56:35 +02:00
Brecht Van Lommel 6eeb32706a 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.
2020-07-10 17:10:05 +02:00
Brecht Van Lommel 93791381fe Cleanup: reduce hardcoded numbers in denoising neighbor tiles code 2020-07-10 17:10:05 +02:00
Brecht Van Lommel e65c78cd43 Cleanup: minor refactoring in Cycles update detection code 2020-07-10 17:10:05 +02:00
Milan Jaros ad45b8d6a4 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
2020-07-10 17:10:05 +02:00
Brecht Van Lommel d8e648c352 Fix T78776: Cycles OpenCL error after recent changes for holdouts 2020-07-10 17:10:05 +02:00
Bastien Montagne 9dbe9a753a 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...
2020-07-10 16:51:37 +02:00
Richard Antalik 5372924983 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
2020-07-10 16:16:42 +02:00
Richard Antalik 77f823a240 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
2020-07-10 16:16:42 +02:00
Richard Antalik 47e71f4623 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
2020-07-10 16:16:42 +02:00
Jacques Lucke cbfedf2139 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
2020-07-10 15:54:01 +02:00
Bastien Montagne c2304d2f02 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
2020-07-10 15:50:21 +02:00
Jacques Lucke 4d1c3c029e Cleanup: declaration and implementation function signature did not match 2020-07-10 15:48:46 +02:00
Bastien Montagne f93e0f1a9e 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
2020-07-10 15:23:52 +02:00