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
2021-08-04Cycles: More flexible GI Approximation AO distance controlSergey Sharybin
The goal: allow to easily use AO approximation in scenes which combines both small and large scale objects. The idea: use per-object AO distance which will allow to override world settings. Instancer object will "propagate" its AO distance to all its instances unless the instance defines own distance (this allows to modify AO distance in the shot files, without requiring to modify props used in the shots. Available from the new Fats GI Approximation panel in object properties. Differential Revision: https://developer.blender.org/D12112
2021-07-30Cleanup: clarify license and origin of voronoi and dithering codeBrecht Van Lommel
2021-07-30Cleanup: clang-format (re-run after v12 version bump)Campbell Barton
2021-07-28Cycles: remove WITH_CYCLES_DEBUG, add WITH_CYCLES_DEBUG_NANBrecht Van Lommel
WITH_CYCLES_DEBUG was used for rendering BVH debugging passes. But since we mainly use Embree an OptiX now, this information is no longer important. WITH_CYCLES_DEBUG_NAN will enable additional checks for NaNs and invalid values in the kernel, for Cycles developers. Previously these asserts where enabled in all debug builds, but this is too likely to crash Blender in scenes that render fine regardless of the NaNs. So this is behind a CMake option now. Fixes T90240
2021-07-26Cycles: upgrade CUDA to 11.4Brecht Van Lommel
This fixes a performance regression on Ampere cards, on specific scenes like classroom. For cycles-x there is little difference, but this is still helpful for LTS releases, and we need to upgrade at some point anyway.
2021-07-14Fix T88088: Cycles and Eevee Vector Rotate node inconsistent with zero axisBrecht Van Lommel
Pass along the unmodified vector in this case.
2021-07-07Cleanup: spelling in commentsCampbell Barton
2021-07-05Fix T89523: Cycles OpenCL compile error after shadow terminator changesBrecht Van Lommel
2021-07-03Cleanup: consistent use of tags: NOTE/TODO/FIXME/XXXCampbell Barton
Also use doxy style function reference `#` prefix chars when referencing identifiers.
2021-06-29Fix T89523: Cycles OpenCL compile error after recent changesBrecht Van Lommel
Also correctly used inverse transposed matrix for normal transform.
2021-06-29Fix Cycles hair render error on GPU after recent changesBrecht Van Lommel
Volumes primitive needs to be part of traceable primitives.
2021-06-29Cleanup: clang-formatCampbell Barton
2021-06-28Fix T87194: custom attributes not accessible with Cycles VolumeKévin Dietrich
Custom properties defined on objects are not accessible from the attribute node when rendering a volume in Cycles. This is because this case is not handled. To handle it, added a primitive type for volumes in the kernel, which is then used in the initialization of ShaderData and to check whether an attribute lookup is for a volume. `volume_attribute_float4` is also now checking the attribute element type to dispatch to the right lookup function. Reviewed By: #cycles, brecht Maniphest Tasks: T87194 Differential Revision: https://developer.blender.org/D11728
2021-06-28Cycles: reduce shadow terminator artifactsMikhail Matrosov
Offset rays from the flat surface to match where they would be for a smooth surface as specified by the normals. In the shading panel there is now a Shading Offset (existing option) and Geometry Offset (new). The Geometry Offset works as follows: * 0: disabled * 0.001: only terminated triangles (normal points to the light, geometry doesn't) are affected * 0.1 (default): triangles at grazing angles are affected, and the effect fades out * 1: all triangles are affected Limitations: * The artifact is still visible in some cases, it could be that some quads require to be treated specifically as quads. * Inconsistent normals cause artifacts. * If small objects cast shadows to a big low poly surface, the shadows can appear to be in a wrong place - because the surface moved slightly above the geometry. This can be noticed only at grazing angles to light. * Approximated surfaces of two non-intersecting low-poly objects can overlap that causes off-the-wall shadows. Generally, using one or a few levels of subdivision can get rid of artifacts faster than before. Differential Revision: https://developer.blender.org/D11065
2021-06-26Cleanup: full sentences in comments, improve comment formattingCampbell Barton
2021-06-24Cleanup: comment blocks, trailing space in commentsCampbell Barton
2021-06-24Cleanup: use '#if 0' for commented code-blockCampbell Barton
2021-06-04Nodes: Add Multiply Add to Vector Math nodesCharlie Jolly
Cycles, Eevee, OSL, Geo, Attribute This operator provides consistency with the standard math node. Allows users to use a single node instead of two nodes for this common operation. Reviewed By: HooglyBoogly, brecht Differential Revision: https://developer.blender.org/D10808
2021-05-27Merge branch 'blender-v2.93-release'Clément Foucault
2021-05-26Revert "Cycles: optimize ensure_valid_reflection(), reduces render time by ↵Brecht Van Lommel
about 1%" Both before and after can have artifacts with some normal maps, but this seems to give worse artifacts on average which are not worth the minor performance increase. This reverts commit 21bc1a99baa765d81c3203fd2e451681b8a7fd55. Ref T88368, D10084
2021-05-21Cleanup: spellingLeon Zandman
Includes fixes to misspelled function names. Ref D11280
2021-05-20Merge remote-tracking branch 'origin/blender-v2.93-release'Sybren A. Stüvel
2021-05-19Cycles OpenCL: disable AO preview kernelsBrecht Van Lommel
These seem to be causing some stability issues, and really are just not that useful in practice. Compiling them is slow already, so it does not improve the user experience much to show an AO preview if it's not nearly instant.
2021-05-12Merge branch 'blender-v2.93-release'Sergey Sharybin
2021-05-12Fix non-finite tangent in Cycles with missing UV mapSergey Sharybin
Was causing calculation issues later on in the kernel. This change catches the most obvious case: missing attribute. The old code was trying to set tangent to 0, but because it was transformed as a normal it got converted to non-finite value. This change makes it so that no transform is involved and 0 is written directly to the SVM stack. To cover all cases it will require using safe_normalize() in this node and in the normal transform function. This is more involved change from performance point of view, would be nice to verify whether we really want to go this route. I've left asserts in the BSDF allocation functions. Don't have strong connection to them, but think they are handy and are not different from having an assert in the path radiance checks. Differential Revision: https://developer.blender.org/D11235
2021-05-12Merge branch 'blender-v2.93-release'Sergey Sharybin
2021-05-12Cycles X: Fix possible use of uninitialized ShaderClosureSergey Sharybin
It is possible that BSDF allocation will advance pointer in the allocation "pool" but will return null pointer if the weight is too small. One artist-measurable issue this change fixes is random issues with denoising: normal pass for denoising could have accessed non-initialized normal of a closure. Differential Revision: https://developer.blender.org/D11230
2021-05-12Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-05-11Fix T72791: Cycles wrong results when mixing multiple random walk BSSRDFsChris Eveleigh
Take into account the closure sample weight for the throughput. Differential Revision: https://developer.blender.org/D10936
2021-05-04Merge branch 'blender-v2.93-release'Germano Cavalcante
2021-05-03Fix errors in Cycles commentsBrecht Van Lommel
2021-04-29Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-04-29Cleanup: removed unnecessary multiplications in area light importance samplingMatteo Falduto
Differential Revision: https://developer.blender.org/D11114
2021-04-21Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-04-21Fix some Cycles random walk SSS precision issues with small radiusBrecht Van Lommel
2021-04-19Cycles: include more transparency and emission in fast GI approximationBrecht Van Lommel
For indirect light rays, don't assume any hit is opaque, rather if it has transparency or emission do the shading but don't do any further bounces. Naturally this is slower when there are transparent surfaces, however without this cutout opacity doesn't give sensible results. Differential Revision: https://developer.blender.org/D10985
2021-04-19Cleanup: move BVH utility functions into own fileBrecht Van Lommel
2021-04-12Fix T87324: incorrect parametric coordinates with light spreadBrecht Van Lommel
2021-04-01Cleanup: spellingCampbell Barton
2021-04-01Cycles: light spread importance sampling for rectangular area lightsBrecht Van Lommel
Compute a subset of the area light that actually affects the shading point and only samples points within that. It's not perfect as the real subset is a circle instead of a rectangle, and the attenuation is not accounted for. However it massively reduces noise for shading points near the area light anyway. Ellipse shaped area lights do not have this importance sampling, but do not have solid angle importance sampling either. Ref D10594
2021-04-01Cycles: add a spread setting for area lightsMatteo Falduto
This simulates the effect of a honeycomb or grid placed in front of a softbox. In practice, it works by attenuating rays coming off-angle as a function of the provided spread angle parameter. Setting the parameter to 180 degrees poses no restrictions to the rays, making the light behave the same way as before this patch. The total light power is normalized based on the spread angle, so that the light strength remains the same. Differential Revision: https://developer.blender.org/D10594
2021-03-26Cleanup: clang-formatCampbell Barton
2021-03-23Nodes: Add Refract and Faceforward functions to Vector Maths nodesCharlie Jolly
Cycles, Eevee, OSL, Geo, Attribute Based on outdated refract patch D6619 by @cubic_sloth `refract` and `faceforward` are standard functions in GLSL, OSL and Godot shader languages. Adding these functions provides Blender shader artists access to these standard functions. Reviewed By: brecht Differential Revision: https://developer.blender.org/D10622
2021-03-19Fix Cycles NaN assert in random walk SSS due to very small throughputBrecht Van Lommel
Now terminate if there are many bounces and the throughput gets so small that we get precision issues.
2021-03-18Cleanup: spellingCampbell Barton
2021-03-15Fix T86121: Cycles Attribute returning wrong results with OSLBrecht Van Lommel
Fix uninitialized variable in the OSL shader.
2021-03-15Cycles: optimize ensure_valid_reflection(), reduces render time by about 1%Mikhail
This is an implementation that is about 1.5-2.1 times faster. It gives a result that is on average 6° different from the old implementation. The difference is because normals (Ng, N, N') are not selected to be coplanar, but instead reflection R is lifted the least amount and the N' is computed as a bisector. Differential Revision: https://developer.blender.org/D10084
2021-03-15Fix T56925: Cycles banding artifacts in dense volumesMikhail Matrosov
Offset the starting point of segments by a random amount to avoid the bounding box shape affecting the result and creating artifacts. Differential Revision: https://developer.blender.org/D10576
2021-03-08Fix Cycles CUDA build error with Visual Studio 2019 v16.9Brecht Van Lommel
Something in this update broke the floor() function in CUDA, instead use floorf() like we do everywhere else in the kernel code. Thanks to Ray Molenkamp for identifying the solution.
2021-02-24Cmake/deps: Update OSL to 1.11.10.0Ray Molenkamp
This bumps OSL to 1.11.10.0. OSL Has a new build time dependency: Clang, and more importantly it expects clang and llvm to share a library folder, which it previously for us did not. This patch changes: -OSL Update to 1.11.10.0 -refactor the llvm/clang/clang-tools-extra builds into the llvm build using the llvm-project tarball for building that has all of the subprojects in it. -update ispc/openmp builds since clang no longer its own dependency and they have to depend on the llvm build now. -Update the windows builder to use the 64 bit host tools since it ran out of ram linking clang -Since OSL now needs clang to link successfully a findclang.cmake has been provided for linux/OSX Differential Revision: https://developer.blender.org/D10212 Reviewed By: brecht, sebbas, sybren