Commit Graph

9251 Commits

Author SHA1 Message Date
Ray Molenkamp
9fe469c110 Cleanup/MSVC: Enable C++ conformance mode on compiler versions that support it.
MSVC has a conformance mode (/permissive-) where the C++ standard is more strictly
enforced. This mode is available on MSVC 15.5+ [1]

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

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

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

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

Reviewed By: brecht
2020-02-12 12:49:34 -07:00
Patrick Mours
6389471c40 Fix NLM denoiser no longer working with OptiX after recent commit 2020-02-12 15:46:30 +01:00
Brecht Van Lommel
d104c77af8 Fix Cycles compiler warnings after recent commit 2020-02-12 14:29:14 +01:00
Brecht Van Lommel
709012187a Fix Cycles build errors and clang-format after recent commit 2020-02-12 14:14:02 +01:00
Patrick Mours
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
Campbell Barton
a2ce3b342a Cleanup: clang-format 2020-02-12 18:19:01 +11:00
Ray Molenkamp
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
Patrick Mours
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
Clément Foucault
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
Campbell Barton
baa4b5e93c CLeanup: clang-format 2020-02-11 18:45:08 +11:00
Campbell Barton
3e6e9ce01b Cleanup: extra semicolons, comma use, undeclared vars 2020-02-11 12:04:50 +11:00
Ray Molenkamp
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
Sergey Sharybin
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
Campbell Barton
cdfaddbb1d Cleanup: spelling 2020-02-10 10:33:00 +11:00
Sebastián Barschkis
f780057d52 Merge branch 'blender-v2.82-release' 2020-02-09 17:27:15 +01:00
Sebastián Barschkis
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
Sebastián Barschkis
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
Sebastián Barschkis
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
Brecht Van Lommel
19361bf2f4 Fix eigen/openmp link error in some build configurations 2020-02-09 16:29:37 +01:00
Ray Molenkamp
02495f1e3c Cycles: Add avxf unit tests.
Differential Revision: https://developer.blender.org/D3706

Reviewers: brecht
2020-02-08 16:01:28 -07:00
Brecht Van Lommel
01cb35cc8f Fix Cycles error with hair and spatial splits after recent changes 2020-02-08 23:26:09 +01:00
Brecht Van Lommel
9ff3482af4 Fix Cycles embree render crash after recent refactor 2020-02-08 21:28:50 +01:00
Brecht Van Lommel
fc412be5ac Cleanup: fix compiler warning 2020-02-08 21:28:50 +01:00
Sebastián Barschkis
4e2e28b8c3 Merge branch 'blender-v2.82-release' 2020-02-07 19:38:33 +01:00
Sebastián Barschkis
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
Sebastián Barschkis
1a93bc2db8 Merge branch 'blender-v2.82-release' 2020-02-07 15:21:26 +01:00
Sebastián Barschkis
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
Brecht Van Lommel
d809853513 Cleanup: simplify Cycles primitive attribute map storage 2020-02-07 12:18:15 +01:00
Brecht Van Lommel
d9c5f0d25f Cleanup: split Cycles Hair and Mesh classes, with Geometry base class 2020-02-07 12:18:15 +01:00
Brecht Van Lommel
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
Brecht Van Lommel
47402dcb91 Cleanup: split Cycles export into smaller files 2020-02-07 12:18:15 +01:00
Brecht Van Lommel
7b66f73558 Cleanup: export particle hair as a separate Cycles object 2020-02-07 12:18:15 +01:00
Brecht Van Lommel
ad489b7164 Cleanup: add type inheritance for Cycles nodes 2020-02-07 12:18:15 +01:00
Sebastián Barschkis
638adb2f1a Merge branch 'blender-v2.82-release' 2020-02-07 11:05:03 +01:00
Sebastián Barschkis
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
Ray Molenkamp
8ff556cf75 Merge remote-tracking branch 'origin/blender-v2.82-release' 2020-02-06 13:44:55 -07:00
Ray Molenkamp
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
Sebastián Barschkis
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
Sebastián Barschkis
1bb702df1e OpenVDB: Fix IOError in try catch statement
Broader exception handling for OpenVDB IO errors.
2020-02-06 17:24:09 +01:00
Sebastián Barschkis
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
Ray Molenkamp
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
Lukas Stockner
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
Pablo Dobarro
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
Brecht Van Lommel
5f056fb742 Merge branch 'blender-v2.82-release' 2020-02-03 18:40:21 +01:00