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
AgeCommit message (Collapse)Author
2020-11-11Cleanup: clang-formatCampbell Barton
2020-11-10Cycles: fix compilation of OSL shaders following API changeKévin Dietrich
The names of the parameters are based on those of those of the sockets, so they also need to be updated. This was forgotten about in the previous commit (rBa284e559b90e). Ref T82561.
2020-11-10Fix NanoVDB compile errors with recent NanoVDB versionsPatrick Mours
There were some changes to the NanoVDB API that broke the way Cycles was previously using it. With these changes it compiles successfully again and also still compiles with the NanoVDB revision that is currently part of the Blender dependencies. Ref T81454.
2020-11-09Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-09Fix T78956: banding artifacts of vertex colors in CyclesBrecht Van Lommel
Byte colors must be encoded in sRGB and converted to linear on lookup, to avoid precision loss.
2020-11-09Cycles: Fix function inline attributesSergey Sharybin
forceinline attribute is only applicable for function which are marked inline. Interestingly, it can be used for class methods without explicit inline statement. But for functions it is another story.
2020-11-09Cycles: Fix tricubic sampling with NanoVDBPatrick Mours
Volumes using tricubic sampling were producing different results with NanoVDB compared to dense textures. This fixes that by using the same tricubic sampling algorithm in both cases. It also fixes some remaining offset issues and some minor things that broke OpenCL kernel compilation on NVIDIA. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9491
2020-11-06Cleanup: use string APPEND/PREPENDCampbell Barton
Replace 'set' with 'string(APPEND/PREPEND ...)'. This avoids duplicating the variable name.
2020-11-04Fix Cycles volume render differences with NanoVDB when using linear samplingPatrick Mours
The NanoVDB sampling implementation behaves different from dense texture sampling, so this adds a small offset to the voxel indices to correct for that. Also removes the need to modify the sampling coordinates by moving all the necessary transformations into the image transform. See also T81454.
2020-11-02Fix Cycles kernel compile error with NanoVDB because of type redefinitionPatrick Mours
Cycles defines some basic integer types since it cannot use the standard headers when compiling with NVRTC. NanoVDB however only does this when the "__CUDACC_RTC__" define is set and otherwise includes the standard "stdint.h" header which clashes with those typedefs. So for compatibility do the same thing in the Cycles kernel headers. See also T81454.
2020-10-28Cycles: internal support for alpha output for attribute nodeAlexander Gavrilov
Not exposed in Blender yet. Ref D2057
2020-10-28Cycles: internal support for per-instance and per-geometry attributesAlexander Gavrilov
The existing code for this was incomplete. Each instance can now have a set of attributes stored separately from geometry attributes. Geometry attributes take precedence over instance attributes. Ref D2057
2020-10-28Cycles: refactor to make attribute lookup slightly more efficientBrecht Van Lommel
Ref D2057
2020-10-28Cycles: internal support for float4 geometry attributesAlexander Gavrilov
Previously only float3 and byte4 was supported. Ref D2057
2020-10-28Cycles: refactor to split surface and volume attribute lookup moreBrecht Van Lommel
This avoids OpenCL inlining heavy volume interpolation code once for every data type, which could cause a performance regression when we add a float4 data type in the next commit. Ref D2057
2020-10-26Cycles: Add support for OptiX 7.2 SDKPatrick Mours
2020-10-19Spelling: It's Versus ItsHarley Acheson
Corrects incorrect usage of contraction for 'it is', when possessive 'its' was required. Differential Revision: https://developer.blender.org/D9250 Reviewed by Campbell Barton
2020-10-13Cycles: Add CUDA 11 build supportPatrick Mours
With this patch the build system checks whether the "CUDA10_NVCC_EXECUTABLE" CMake variable is set and if so will use that to build sm_30 kernels. Similarily for sm_8x kernels it checks "CUDA11_NVCC_EXECUTABLE". All other kernels are built using the default CUDA toolkit. This makes it possible to use either the CUDA 10 or CUDA 11 toolkit by default and only selectively use the other for the kernels where its a hard requirement. Reviewed By: brecht Differential Revision: https://developer.blender.org/D9179
2020-10-05Cycles: Add NanoVDB support for rendering volumesPatrick Mours
NanoVDB is a platform-independent sparse volume data structure that makes it possible to use OpenVDB volumes on the GPU. This patch uses it for volume rendering in Cycles, replacing the previous usage of dense 3D textures. Since it has a big impact on memory usage and performance and changes the OpenVDB branch used for the rest of Blender as well, this is not enabled by default yet, which will happen only after 2.82 was branched off. To enable it, build both dependencies and Blender itself with the "WITH_NANOVDB" CMake option. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8794
2020-10-01Cleanup: clang-formatBrecht Van Lommel
2020-09-30Fix Cycles CUDA kernels for Ampere not building with CUDA 11Brecht Van Lommel
Running Blender on Ampere cards was already possible with ptx, this fix is needed to support building CUDA binaries. Note the CUDA version used for official Blender builds is still 10, this is merely the change to make it possible for those using CUDA 11 and specifying the sm_8x kernels to be compiled. Found by Milan Jaros.
2020-09-30Cycles: Fix usage of memory barriers in split kernelSergey Sharybin
On user level this fixes dead-lock of OpenCL render on Intel Iris GPUs. Note that this patch does not include change in the logic which allows or disallows OpenCL platforms to be used, that will happen after the kernel fix is known to be fine for the currently officially supported platforms. The dead-lock was caused by wrong usage of memory barriers: as per the OpenCL specification the barrier is to be executed by the entire work group. This means, that the following code is invalid: void foo() { if (some_condition) { return; } barrier(CLK_LOCAL_MEM_FENCE); } void bar() { foo(); } The Cycles code was mentioning this as an invalid code on CPU, while in fact this is invalid as per specification. From the implementation side this change removes the ifdefs around the CPU-only barrier logic, and is implementing similar logic in the shader setup kernel. Tested on NUC8i7HVK NUC. The root cause of the dead-lock was identified by Max Dmitrichenko. There is no measurable difference in performance of currently supported OpenCL platforms. Differential Revision: https://developer.blender.org/D9039
2020-09-30Cleanup: convert gforge task ID's to phabricator formatValentin
Cleanup old tracker task format to the new. e.g: [#34039] to T34039 Ref D8718
2020-09-22Cleanup: use float3 instead of float4 for shadow, since w is never usedBrecht Van Lommel
Contributed by pembem22. Differential Revision: https://developer.blender.org/D8947
2020-09-22Fix Cycles SSS incorrect rendering of zero radius in green channelBrecht Van Lommel
Thanks to pembem22 for finding the problem. Ref D8949
2020-09-09Cleanup: spellingCampbell Barton
2020-09-05Cleanup: clang-formatCampbell Barton
2020-09-04CMake: refresh building and external library handling of Cycles standaloneBrecht Van Lommel
* Support precompiled libraries on Linux * Add license headers * Refactoring to deduplicate code Includes work by Ray Molenkamp and Grische for precompiled libraries. Ref D8769
2020-09-03Fix T79803: Wrong Distance To Edge 1D VoronoiOmarSquircleArt
The current 1D Voronoi implementation for the Distance to Edge option computes the distance to the cells instead. This patch fixes that and compute the distance to the edge. Reviewed By: JacquesLucke, brecht Differential Revision: https://developer.blender.org/D8634
2020-09-01Fix Cycles build error when disabling some kernel featuresImre Palik
Differential Revision: https://developer.blender.org/D8372
2020-08-28Merge branch 'blender-v2.90-release'Philipp Oeser
2020-08-28Fix T80149: Cycles OpenCL baking broken after changes to uses tiles for bakingBrecht Van Lommel
We forgot to update this code as part of D3108. I'd like to include this in 2.90, it's entirely broken now so can't really get any worse. Differential Revision: https://developer.blender.org/D8738
2020-08-26Fix T80129: Cycles shadow catcher viewport error with exposure other than 1Brecht Van Lommel
2020-08-24Merge branch 'blender-v2.90-release'Pablo Dobarro
2020-08-24Fix T79819: crash with OSL trace() and getmessage() after Embree changesBrecht Van Lommel
The return value of scene_intersect must be checked, the isect struct members can't be assumed to be initialized if that returns false. Differential Revision: https://developer.blender.org/D8692
2020-08-17Merge branch 'blender-v2.90-release'Richard Antalik
2020-08-17Fix T79052: Cycles new sky texture fails with sun size zeroBrecht Van Lommel
Clamp to a minimum angle to avoid precision issues.
2020-08-03Cleanup: remove trailing space, newlines at eofCampbell Barton
2020-07-28Fix T79259: OptiX render with fisheye camera is different to CUDAPatrick Mours
The fisheye camera setup causes the edges of the image to not shoot primary rays. This was not respected by OptiX because of an optimization that tried to reduce conditionals around trace calls. Removing that does not seem to have an impact on performance anymore however and it fixes the issue.
2020-07-27Cycles: Enable OptiX on first generation Maxwell GPUs againPatrick Mours
2020-07-20Cycles: adjust Sky texture intensity to follow physical unitsBrecht Van Lommel
The sky will appear brighter than before by default. To compensate for this, lower exposure in the Film panel. The default altitude was also changed from 90 to 15 degrees. Patch contributed by Marco with the help of Ryan Jones. Differential Revision: https://developer.blender.org/D8285
2020-07-20Cycles: Use pre-compiled PTX kernel for older generation when no matching ↵Patrick Mours
one is found This patch changes the discovery of pre-compiled kernels, to look for any PTX, even if it does not match the current architecture version exactly. It works because the driver can JIT-compile PTX generated for architectures less than or equal to the current one. This e.g. makes it possible to render on a new GPU architecture even if no pre-compiled binary kernel was distributed for it as part of the Blender installation. Reviewed By: brecht Differential Revision: https://developer.blender.org/D8332
2020-07-15Fix T78930: Cycles OpenCL error on graphics cards that don't support half floatBrecht Van Lommel
2020-07-13Cycles: Change precomputed Sky Texture mapping to prioritize the horizonLukas Stockner
Differential Revision: https://developer.blender.org/D8091
2020-07-13Cycles: Add control for sun intensity in Sky Texture and change altitude to kmLukas Stockner
Differential Revision: https://developer.blender.org/D8091
2020-07-10Fix T78776: Cycles OpenCL error after recent changes for holdoutsBrecht Van Lommel
2020-07-08Cycles: support shader transparency for holdout objectsBrecht Van Lommel
Now transparent areas of the object will render objects behind. Fixes T78728.
2020-07-08Fix T78324: Different Sky Texture results between CPU and GPULukas Stockner
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.
2020-07-07Cycles: Add support for native OptiX curve primitivePatrick Mours
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
2020-07-07Cleanup: spellingCampbell Barton