Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
path: root/intern
AgeCommit message (Collapse)Author
2020-06-19Cycles: Make compatible with C++17 on 10.9 deployment targetSergey Sharybin
OSLRenderServices contains a member which is 64 bytes aligned and this is onlys supported by default allocators in SDK 10.14. Since we take care of allocation ourselves ignoring the diagnostic is an acceptable way dealign with it.
2020-06-19Quadriflow: Fix compilation error with C++17Sergey Sharybin
Unary function has been removed. Unless I'm missing something subclass is not needed here.
2020-06-19Ceres: Update to the latest upstream versionSergey Sharybin
Using latest master because of various compilation error fixes. Brings a lot of recent development. From most interesting parts: - New threading model. - Tiny solver. - Compatibility with C++17.
2020-06-18Fix for T77095: work around render artifacts with AMD Radeon RX 4xx and 5xxBrecht Van Lommel
2020-06-18Fluids: fix variable namesJacques Lucke
This seems to be an error in rBb91b90f0dd3c9bff3b1a6e563c2cce293722ed16. I found it, because I could not open the file in T77263 anymore. Reviewers: sebbas Differential Revision: https://developer.blender.org/D8065
2020-06-17Cycles: Add new Sky Texture method including direct sunlightLukas Stockner
This commit adds a new model to the Sky Texture node, which is based on a method by Nishita et al. and works by basically simulating volumetric scattering in the atmosphere. By making some approximations (such as only considering single scattering), we get a fairly simple and fast simulation code that takes into account Rayleigh and Mie scattering as well as Ozone absorption. This code is used to precompute a 512x128 texture which is then looked up during render time, and is fast enough to allow real-time tweaking in the viewport. Due to the nature of the simulation, it exposes several parameters that allow for lots of flexibility in choosing the look and matching real-world conditions (such as Air/Dust/Ozone density and altitude). Additionally, the same volumetric approach can be used to compute absorption of the direct sunlight, so the model also supports adding direct sunlight. This makes it significantly easier to set up Sun+Sky illumination where the direction, intensity and color of the sun actually matches the sky. In order to support properly sampling the direct sun component, the commit also adds logic for sampling a specific area to the kernel light sampling code. This is combined with portal and background map sampling using MIS. This sampling logic works for the common case of having one Sky texture going into the Background shader, but if a custom input to the Vector node is used or if there are multiple Sky textures, it falls back to using only background map sampling (while automatically setting the resolution to 4096x2048 if auto resolution is used). More infos and preview can be found here: https://docs.google.com/document/d/1gQta0ygFWXTrl5Pmvl_nZRgUw0mWg0FJeRuNKS36m08/view Underlying model, implementation and documentation by Marco (@nacioss). Improvements, cleanup and sun sampling by @lukasstockner. Differential Revision: https://developer.blender.org/D7896
2020-06-17Cleanup: fix compiler warningsBrecht Van Lommel
2020-06-17Fix T77915: Cycles OSL microfacet closure not working in custom shadersBrecht Van Lommel
The code to implement the newer closure in terms of the old one got lost in the removal of our stdosl.h copy. Now implement it as a builtin closure.
2020-06-12Cycles: Improve CUDA and OptiX error reporting in the viewportPatrick Mours
This patch makes the infamous "Cancel" error in the viewport a thing of the past. Instead it now shows a more useful error message and streamlines the error handling process in CUDA. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8008
2020-06-12VR: Fix too dark rendering on SteamVRJulian Eisel
Apply the sRGB transform workaround we already apply for Monado (and used to apply for Windows Mixed Reality).
2020-06-12VR: SteamVR is now a supported OpenXR runtime! (Windows only)Julian Eisel
Steam just released a SteamVR update with OpenXR Developer Preview support: https://steamcommunity.com/games/250820/announcements/detail/2396425843528787270. Once SteamVR is set up for OpenXR (see link above), it works with Blender "out of the box", thanks to OpenXR! We have to apply the sRGB transform workaround for SteamVR though, otherwise it renders way too dark. Done in the next commit. Note that AMD users may still only see a pink screen, because the OpenGL-DirectX compatibility fails. I will check on a fix again. For SteamVR on Linux we may have to wait for until it supports OpenGL rendering for OpenXR. Alternatively, we *could* add initial Vulkan support at Ghost level and use Vulkan<->OpenGL interoperability extensions, Monado uses these as well.
2020-06-10Cleanup: fix compiler warning after recent changesBrecht Van Lommel
It would be good to use override for all member functions, but doing it for only somes generates compiler warning.
2020-06-10Fix Cycles viewport missing refresh when changing scene hair settingsBrecht Van Lommel
This code was not updated for the CoW depsgraph.
2020-06-10Fix T74101: File Browser in macOS fullscreen crashes or makes windows unusableJulian Eisel
When closing the File Browser window after making it fullscreen, Blender would either crash or all windows would disappear, with no obvious way to bring them back. The "fix" is to not allow fullscreen for File Browsers (or any future "dialog" windows), but only maximizing. From what I can tell that's how secondary windows are supposed to work on macOS. What we previously did seemed like something macOS doesn't handle cleanly, and I didn't find a simple way to do so on our side.
2020-06-10Cycles: Improve OptiX viewport denoising performance with CUDA renderingPatrick Mours
With this patch Cycles recognizing when a logical OptiX and CUDA device represent the same physical GPU and attempts to eliminate unnecessary tile copies for viewport rendering if that is the case for all active devices. In addition, denoising is now no longer performed on the first available OptiX device only, but instead it will try to match CUDA and OptiX rendering/denoising devices exactly to maximize utilization. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7975
2020-06-10Cycles: Fix CUDA compilation after cone sampling fixLukas Stockner
2020-06-09Cycles: Fix uniform cone samplingLukas Stockner
This code is currently only used for the Glossy Toon BSDF, but it's a generic building block that might be used for other things in the future. To see why the current code does not give a uniform distribution, consider that it chooses both angles uniformly, but the smaller the angle from the center of the cone is, the smaller the differential solid angle is (similar to how sampling disks by choosing radius and phi uniformly does not work). Differential Revision: https://developer.blender.org/D7948
2020-06-09Cleanup: avoid addition with large strings in PythonCampbell Barton
This is known to be inefficient, use a second write call instead.
2020-06-08Cycles: Add support for P2P memory distribution (e.g. via NVLink)Patrick Mours
This change modifies the multi-device implementation to support memory distribution across devices, to reduce the overall memory footprint of large scenes and allow scenes to fit entirely into combined GPU memory that previously had to fall back to host memory. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7426
2020-06-08Fix T77603: OSL parser fails when script ends with comment without newlineJacques Lucke
Reviewers: brecht Differential Revision: https://developer.blender.org/D7958
2020-06-05Fluid: Cleanup internal Python object namesSebastián Barschkis
Manta Python objects should not carry the global ID in their names.
2020-06-05Cycles: Enable OptiX on all Maxwell+ GPUsPatrick Mours
2020-06-05Cleanup: Strict compiler warningSergey Sharybin
2020-06-04Cleanup: remove unused flagBrecht Van Lommel
2020-06-04Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-06-03Fix build error for Cycles standaloneBrecht Van Lommel
This does not affect the Blender release. Ref D7915
2020-06-03Cleanup: clang format, warningCampbell Barton
2020-06-02Fix T63588: Cycles unnecessarily updates background importance sampling mapTautvydas Andrikys
With modifications by Brecht to solve T77273, crash enabling portal lights.
2020-06-02Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-06-02Revert "Fix T63588: Cycles unnecessarily updates background importance ↵Brecht Van Lommel
sampling map" This reverts commit 33ce0cb5a1edea4b5aaa7d37f6ad74b3b35b95f8. Fix T77273: crash enabling portal lights. The optimization for background updates can be added back later for 2.90 and 2.83.1.
2020-06-02OCIO: GLSL: Avoid undefined behaviorClément Foucault
Set ubo binding after shaderinterface creation as GPU_shaderinterface_create will call glUniformBlockBinding.
2020-06-02GPU: ShaderInterface: Refactor to setup all uniform at creation timeClément Foucault
This remove the complexity of queriying the locations at runtime and allows for more performance and upfront binding specifications. The benefit of doing everything at creation time is that we can assign binding points in a predictable order which is going to be somewhat the same for every similar shader. This also rewrite GPU_vertformat_from_shader to not use shaderface. This is to keep the shaderface simple. If it becomes necessary to not query the shader after creation (i.e: vulkan?) we could just create the vert format in advance at compilation for PyGPU shaders. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7879
2020-06-02UI: rename Cycles point light Size to Radius, for consistency and clarityJohan Walles
Differential Revision: https://developer.blender.org/D7888
2020-06-02Cycles: add missing light angle for distant lights in XML readingBrecht Van Lommel
Contributed by howetuft. Differential Revision: https://developer.blender.org/D7891
2020-06-02Merge branch 'blender-v2.83-release'Brecht Van Lommel
2020-06-02Cycles: Added shadow terminator offset parameter.Stefan Werner
A new user parameter can be used to shift the shadow terminator towards the light source. With it, one can hide some of the artifacts that appear on coarse meshes with smooth shading. Note that this technique is not engery conserving. This is based on the work by the Appleseed renderer team. Differential Revision: https://developer.blender.org/D7634
2020-06-02Fix build error in Cycles standalone without guarded allocatorBrecht Van Lommel
Solution suggested by howetuft. Differential Revision: https://developer.blender.org/D7892
2020-06-02Fix T77106: Cycles crash baking with AO shader nodeGarry R. Osgood
Differential Revision: https://developer.blender.org/D7890
2020-06-02Cycles: change perspective depth pass to be more standardBrecht Van Lommel
Now it matches Eevee, OpenGL and other renderers. Panoramic camera depth passes are unchanged, and are still distance from the camera center.
2020-06-02Fix NaN in Cycles environment texture importance sampling in some scenesBrecht Van Lommel
Cause identified by Ray Molenkamp.
2020-05-30GHOST/wayland: use 'is_dialog' flag to prevent drawing into same windowChristian Rauch
2020-05-29Cleanup: spelling, correct reference to 'Mesh.mcol'Campbell Barton
2020-05-28Merge branch 'blender-v2.83-release'Clément Foucault
2020-05-27Fix T77109: Cycles viewport render crash after object add and undoBrecht Van Lommel
2020-05-27Merge branch 'blender-v2.83-release'Patrick Mours
2020-05-27Fix T76947: Optix realtime denoiser progressively reduces brightness of very ↵Patrick Mours
bright objects The input data to the OptiX denoiser was clamped to 0..10000 as required, but it could easily exceed that range with a high number of samples (since the data contains the overall sum). To fix that, divide by the number of samples first and multiply it back in after the denoiser ran.
2020-05-27OpenSubdiv: Only store edges topology for non-smooth edgesSergey Sharybin
This change makes it so vertices of edge are only stored when edge has non-zero crease. This allows to lower memory footprint of 1.5M faces from 78 MiB to 54 MiB in the case all creases are zero. Meshes with crease are more hard to predict due to array-based storage, so it all depends on index of edge with crease. Worst case (all edges are creased) still stays at 78 MiB.
2020-05-27OpenSubdiv: Allow any order of edge topology/sharpness assignmentSergey Sharybin
Makes it possible to set adjacent vertices after edge sharpness. Initially it seemed like useful sanity check, but with time it became rather a burden.
2020-05-27OpenSubdiv: Optimize faces storage in mesh topologySergey Sharybin
Avoid per-face pointer and allocation: store everything as continuous arrays. Memory footprint for 1.5M faces: - Theoretical worst case (all vertices and edges have crease) memory goes down from 114 MiB to 96 MiB (15% improvement). This case is not currently achievable since Blender does not expose vertex crease yet. - Current real life worst case (all edges have crease) memory goes down from 108 MiB to 90 MiB (17% improvement). - Best case (no creases at all) memory goes down from 96 MiB to 78 MiB (19% improvement).
2020-05-27OpenSubdiv: Add regression tests for mesh topologySergey Sharybin
While this looks trivial it already allowed to catch issues in one of previous attempt to optimize memory usage. It will totally be useful for an upcoming refactor of face topology storage.