Commit Graph

9402 Commits

Author SHA1 Message Date
d1bd33407d Cleanup: pass const variables 2020-02-13 14:14:33 +11:00
9fe469c110 Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly
enforced. This mode is available on MSVC 15.5+ [1]

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

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

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

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

Reviewed By: brecht
2020-02-12 12:49:34 -07:00
6389471c40 Fix NLM denoiser no longer working with OptiX after recent commit 2020-02-12 15:46:30 +01:00
d104c77af8 Fix Cycles compiler warnings after recent commit 2020-02-12 14:29:14 +01:00
709012187a Fix Cycles build errors and clang-format after recent commit 2020-02-12 14:14:02 +01:00
153e001c74 Cleanup: Move common CUDA/OptiX Cycles device code into separate file
This reduces code duplication between the CUDA and OptiX device implementations: The CUDA device
class is now split into declaration and definition (similar to the OpenCL device) and the OptiX device
class implements that and only overrides the functions it actually has to change, while using the CUDA
implementation for everything else.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6814
2020-02-12 13:11:32 +01:00
a2ce3b342a Cleanup: clang-format 2020-02-12 18:19:01 +11:00
df1e9b662b Cleanup: Fix build warnings from OSL shader compilation
There were to copies of stdosl.h one from stock OSL
and one in the cycles tree augmented with cycles
specific closures.

moved the cycles ones to stdcycles.h and copied
the stock stdosl.h and accompanying headers from
the OSL shader folder.

for further details see D6812.

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6812
2020-02-11 21:40:23 -07:00
38589de10c Cycles: Add support for denoising in the viewport
The OptiX denoiser can be a great help when rendering in the viewport, since it is really fast
and needs few samples to produce convincing results. This patch therefore adds support for
using any Cycles denoiser in the viewport also (but only the OptiX one is selectable because
the NLM one is too slow to be usable currently). It also adds support for denoising on a
different device than rendering (so one can e.g. render with the CPU but denoise with OptiX).

Reviewed By: #cycles, brecht

Differential Revision: https://developer.blender.org/D6554
2020-02-11 18:03:43 +01:00
Yevgeny Makarov
2fb9285371 Fix T70039, T68707: issues when opening .blend file from Finder on macOS
* Missing close dialog displayed to warn about unsaved changes.
* No reaction when the file was opened on a different desktop.

Differential Revision: https://developer.blender.org/D6765
2020-02-11 17:45:02 +01:00
Yevgeny Makarov
bf361fc9a0 Fix T64024: monitor/fullscreen switching on macOS shows red line artifacts 2020-02-11 15:30:30 +01:00
804e90b42d DRW: Color Management improvement
Reviewed By: brecht sergey jbakker

Differential Revision: http://developer.blender.org/D6729
2020-02-11 15:19:04 +01:00
baa4b5e93c CLeanup: clang-format 2020-02-11 18:45:08 +11:00
3e6e9ce01b Cleanup: extra semicolons, comma use, undeclared vars 2020-02-11 12:04:50 +11:00
c92163b2b0 CTest: Disable the cross test from the avxf unit tests.
Test fails on AVX2, I'll look into this but until the
cause is determined the test will be disabled
2020-02-10 09:27:11 -07:00
Alex Fuller
76208a5670 Cycles: internal support for constant object/mesh attribute values
None are currently exported from Blender, this fixes the Cycles side
implementation.

Differential Revision: https://developer.blender.org/D6794
2020-02-10 13:52:23 +01:00
956fd64653 Cycles: Fix linking error of new avxf unit tests
Was happening on macOS. The reason of this is because OpenImageIO
depends on boost, so it is to be passed to the linker after the
OpenImageIO libraries.
2020-02-10 11:22:10 +01:00
cdfaddbb1d Cleanup: spelling 2020-02-10 10:33:00 +11:00
f780057d52 Merge branch 'blender-v2.82-release' 2020-02-09 17:27:15 +01:00
5e30bd43f8 Fluid: Optimization for fluid domain obstacle boundary handling
This fix should especially improve liquid obstacles boundaries, i.e. help with the problem of particles sticking to the surface.
2020-02-09 17:25:00 +01:00
a048354e9f Fluid: Fixed file formats for script exporter
File formats in the exported scripts were using hardcoded file extensions and not the ones specified in the UI.
2020-02-09 17:17:24 +01:00
86e24ea10c Fluid: Fixes for fluid guiding
Fluid guiding functionality was broken in the bake / read cache loop in fluid.c. Committing this to the release branch as otherwise fluid guiding would not have worked as expected (i.e. not at all).
2020-02-09 17:15:41 +01:00
19361bf2f4 Fix eigen/openmp link error in some build configurations 2020-02-09 16:29:37 +01:00
02495f1e3c Cycles: Add avxf unit tests.
Differential Revision: https://developer.blender.org/D3706

Reviewers: brecht
2020-02-08 16:01:28 -07:00
01cb35cc8f Fix Cycles error with hair and spatial splits after recent changes 2020-02-08 23:26:09 +01:00
9ff3482af4 Fix Cycles embree render crash after recent refactor 2020-02-08 21:28:50 +01:00
fc412be5ac Cleanup: fix compiler warning 2020-02-08 21:28:50 +01:00
4e2e28b8c3 Merge branch 'blender-v2.82-release' 2020-02-07 19:38:33 +01:00
68221b7eba Fluid: Fixed cache reading issue with larger resolution noise grids
Important fix that needs to go into the release. The upscaled noise cache was not read into upscaled grids.
2020-02-07 19:37:44 +01:00
Dalai Felinto
08a4cb0727 Cleanup: make format
Remember to run `make format` after cleanups/renames/...
2020-02-07 15:29:46 +01:00
1a93bc2db8 Merge branch 'blender-v2.82-release' 2020-02-07 15:21:26 +01:00
ffcccf654c OpenVDB: Added missing macros in fluid wrapper file
These were needed to compile when WITH_FLUID=1 and WITH_OPENVDB=0.
2020-02-07 15:19:17 +01:00
d809853513 Cleanup: simplify Cycles primitive attribute map storage 2020-02-07 12:18:15 +01:00
d9c5f0d25f Cleanup: split Cycles Hair and Mesh classes, with Geometry base class 2020-02-07 12:18:15 +01:00
46c9872afa Cleanup: remove unnecessary operations in Cycles curves export
Clearing and computing bounds is already done elsewhere.
2020-02-07 12:18:15 +01:00
47402dcb91 Cleanup: split Cycles export into smaller files 2020-02-07 12:18:15 +01:00
7b66f73558 Cleanup: export particle hair as a separate Cycles object 2020-02-07 12:18:15 +01:00
ad489b7164 Cleanup: add type inheritance for Cycles nodes 2020-02-07 12:18:15 +01:00
638adb2f1a Merge branch 'blender-v2.82-release' 2020-02-07 11:05:03 +01:00
f12b4e53aa Fluid: Fixed try/catch exception issue and unsed variable issue
Sergey just pointed this out, fixing in it the release branch to avoid any compilation issues during the actual release. Thx!
2020-02-07 11:02:55 +01:00
8ff556cf75 Merge remote-tracking branch 'origin/blender-v2.82-release' 2020-02-06 13:44:55 -07:00
763f117c48 Fix: Build error on windows in bf_intern_mantaflow
bf_intern_mantaflow lacked the `-DOPENVDB_STATICLIB` define
causing it to dynamically import openvdb, linked against
our static libs a happy time was not had by the linker.
2020-02-06 13:44:30 -07:00
a24b5a74b5 Fluid: Optimization for fluid domain obstacle boundary handling
This fix should especially improve liquid obstacles boundaries, i.e. help with the problem of particles sticking to the surface.
2020-02-06 19:27:47 +01:00
Nathan Letwory
49b66ad914 Merge branch 'blender-v2.82-release' into master 2020-02-06 18:57:36 +02:00
1bb702df1e OpenVDB: Fix IOError in try catch statement
Broader exception handling for OpenVDB IO errors.
2020-02-06 17:24:09 +01:00
e7d71ce9cf Fluid: Fixed slow cache loading for smoke data
Cache files are currently loaded via the Manta Python API. With very big caches this can slow down the viewport playback. Especially smoke simulations, which just load grids and no meshes, can suffer from this. This fix solves this problem by directly loading the cache files from disk (no Python). This fix has been in the works for some time. The developer of this patch is ready to handle any potential fall-out of this patch quickly.
2020-02-06 16:53:00 +01:00
02226ef653 Code_Cleanup_Day/Windows: Clean-up windows API Level.
Not sure when this happened but apparently the lower bar is now windows 7 [1]

This patch bumps to API version to 0x0601 (Win7) and cleans up any uses that
worked around the globally set API version.

[1] https://www.blender.org/download/requirements/

Reviewed By: brecht

Differential Revision: https://developer.blender.org/D6758
2020-02-05 20:03:06 -07:00
dc1db0791e Cycles: Track specular throughput to account for reflection color in denoising albedo pass
To determine the albedo pass, Cycles currently follows the path until a predominantly
diffuse-ish material is hit and then takes the albedo there.
This works fine for normal mirrors, but as it completely ignores the color of the bounces
before that diffuse-ish material, it also means that any textures that are applied to the
specular-ish BSDFs won't affect the albedo pass at all.

Therefore, this patch changes that behaviour so that Cycles also keeps track of the
throughput of all specular-ish closures along the path so far and includes that in
the albedo pass.

This fixes part of the issue described in T73043. However, since it has an effect on the
albedo pass in most scenes, it could cause cause regressions, which is why I'm uploading
it as a patch instead of just committing as a fix.

Differential Revision: https://developer.blender.org/D6640
2020-02-06 03:37:48 +01:00
6b9062508a Merge branch 'blender-v2.82-release' 2020-02-04 15:33:19 +01:00
Bartosz Moniewski
842e71a1ef Fix wrong default value for Lacunarity in Musgrave texture
Lacunarity parameter determines scaling of subsequent octaves in fractal
noises. For example, Noise node have this scaling hardcoded to 2.0. Each
octave have twice bigger scale than previous one, resulting in finer details.

By design fractal noises that generate octaves with same seed should not
have Lacunarity set to 1.0, since then it just stacks up identical noises.

Differential Revision: https://developer.blender.org/D6742
2020-02-04 13:46:28 +01:00