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
2022-09-15Fix T101065: wrong denoising depth after ray precision improvementsBrecht Van Lommel
2022-09-13Cycles: Make OSL implementation independent from SVMPatrick Mours
Cleans up the file structure to be more similar to that of the SVM and also makes it possible to build kernels with OSL support, but without having to include SVM support. This patch was split from D15902. Differential Revision: https://developer.blender.org/D15949
2022-09-02Cycles: enable adaptive sampling for Sobol-BurleyNathan Vegdahl
This uses the same sample classification approach as used for PMJ, because it turns out to also work equally well with Sobol-Burley. This also implements a fallback (random classification) that should work "okay" for other samplers, though there are no other samplers at the moment. Differential Revision: https://developer.blender.org/D15845
2022-09-02Cleanup: split surface/displacement/volume shader eval into separate filesBrecht Van Lommel
2022-09-02Cleanup: remove some unnecessary kernel feature definesBrecht Van Lommel
That are either unused or aren't useful for testing anymore without a megakernel.
2022-09-02Cleanup: refactoring of kernel film function names and organizationBrecht Van Lommel
2022-08-31Fix T100708: Cycles bake of diffuse/glossy color not outputting alphaBrecht Van Lommel
2022-08-09Cycles: add new Spectrum and PackedSpectrum typesAndrii Symkin
These replace float3 and packed_float3 in various places in the kernel where a spectral color representation will be used in the future. That representation will require more than 3 channels and conversion to from/RGB. The kernel code was refactored to remove the assumption that Spectrum and RGB colors are the same thing. There are no functional changes, Spectrum is still a float3 and the conversion functions are no-ops. Differential Revision: https://developer.blender.org/D15535
2022-06-23Cycles: unify math functions namesAndrii Symkin
This patch unifies the names of math functions for different data types and uses overloading instead. The goal is to make it possible to swap out all the float3 variables containing RGB data with something else, with as few as possible changes to the code. It's a requirement for future spectral rendering patches. Differential Revision: https://developer.blender.org/D15276
2022-05-23Fix missing 64bit casts when calculating Cycles render buffer offsetSergey Sharybin
Found those missing casts while looking into a crash report made in the Blender Chat. Was unable to reproduce the crash, but the casts should totally be there to avoid integer overflow.
2022-04-03Fix T96978: Objects that emit light do not appear in light groupsLukas Stockner
The initial commit only wrote direct and indirect lighting into the lightgroup passes, but not rays that directly hit the light source itself.
2022-04-02Cycles: Add support for light groupsLukas Stockner
Light groups are a type of pass that only contains lighting from a subset of light sources. They are created in the View layer, and light sources (lamps, objects with emissive materials and/or the environment) can be assigned to a group. Currently, each light group ends up generating its own version of the Combined pass. In the future, additional types of passes (e.g. shadowcatcher) might be getting their own per-lightgroup versions. The lightgroup creation and assignment is not Cycles-specific, so Eevee or external render engines could make use of it in the future. Note that Lightgroups are identified by their name - therefore, the name of the Lightgroup in the View Layer and the name that's set in an object's settings must match for it to be included. Currently, changing a Lightgroup's name does not update objects - this is planned for the future, along with other features such as denoising for light groups and viewing them in preview renders. Original patch by Alex Fuller (@mistaed), with some polishing by Lukas Stockner (@lukasstockner97). Differential Revision: https://developer.blender.org/D12871
2022-03-24Cycles: don't write light passes for shadow catcher objectsBrecht Van Lommel
Makes it easier to composite the Combined image from these passes. Fixes T96758
2022-03-23Cleanup: use make_float4(f) zero_float4() to simplify codeEthan-Hall
Differential Revision: https://developer.blender.org/D14426
2022-02-11Cycles: use SPDX license headersBrecht Van Lommel
* Replace license text in headers with SPDX identifiers. * Remove specific license info from outdated readme.txt, instead leave details to the source files. * Add list of SPDX license identifiers used, and corresponding license texts. * Update copyright dates while we're at it. Ref D14069, T95597
2022-01-21Fix T93711: Cycles diffuse/glossy baking does not write alphaBrecht Van Lommel
With the change to use render passes internally the alpha channel got lost. Add support for these render passes to output an alpha channel for baking.
2022-01-13Fix T94758: wrong denoising albedo with BSSRDF retro reflectionBrecht Van Lommel
2021-11-25Merge remote-tracking branch 'origin/blender-v3.0-release'Sergey Sharybin
2021-11-25Fix T93155: Approximate shadow catcher displayed wrong on CPU and GPUSergey Sharybin
Was happening during rendering, causing visual artifacts when doing CPU+GPU rendering, and giving different in-progress results on different devices. The root of the issue comes to the fact that math used in the approximate shadow catcher calculation might have resulted in negative alpha channel, and negative values for display are handled differently on CPU and GPU. Such difference in handling is caused by an approximate conversion used on the CPU for the performance reasons. This change makes it so no negative alpha is generated by the approximate shadow catcher. Not sure if we need some explicit clamping somewhere to deal with possible negative values coming from somewhere else. The shadow catcher cornell box tests are to be updated for the new code, but the new result seems to be more accurate. Differential Revision: https://developer.blender.org/D13354
2021-11-22Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-22Fix part of T93278: transparent glass option not working with environment passBrecht Van Lommel
2021-11-18Cycles: several small fixes and additions for MSLMichael Jones
This patch contains many small leftover fixes and additions that are required for Metal-enablement: - Address space fixes and a few other small compile fixes - Addition of missing functionality to the Metal adapter headers - Addition of various scattered `__KERNEL_METAL__` blocks (e.g. for atomic support & maths functions) Ref T92212 Differential Revision: https://developer.blender.org/D13263
2021-11-17Cycles: add packed_float3 type for storageBrecht Van Lommel
Introduce a packed_float3 type for smaller storage that is exactly 3 floats, instead of 4. For computation float3 is still used since it can use SIMD instructions. Ref T92212 Differential Revision: https://developer.blender.org/D13243
2021-11-12Merge branch 'blender-v3.0-release'Brecht Van Lommel
2021-11-12Fix T91893, T92455: wrong transmission pass with hair and multiscatter glassBrecht Van Lommel
We need to increase GPU memory usage a bit. Unfortunately we can't get away with writing either reflection or transmission passes because these BSDFs may scatter in either direction but still must be in a fixed reflection or transmission category to match up with the color passes.
2021-11-11Merge branch 'blender-v3.0-release'Sergey Sharybin
2021-11-11Fix T92868: Cycles catcher with transparency crashesSergey Sharybin
The issue was caused by splitting happening twice. Fixed by checking for split flag which is assigned to the both states during split. The tricky part was to write catcher data at the moment of split: the transparency and shadow catcher sample count is to be accumulated at that point. Now it is happening in the `intersect_closest` kernel. The downside is that render buffer is to be passed to the kernel, but the benefit is that extra split bounce check is not needed now. Had to move the passes write to shadow catcher header, since include of `film/passes.h` causes all the fun of requirement to have BSDF data structures available. Differential Revision: https://developer.blender.org/D13177
2021-11-11Cycles: Add sample offset optionAndrii
This patch exposes the sampling offset option to Blender. It is located in the "Sampling > Advanced" panel. For example, this can be useful to parallelize rendering and distribute different chunks of samples for each computer to render. --- I also had to add this option to `RenderWork` and `RenderScheduler` classes so that the sample count in the status string can be calculated correctly. Reviewed By: leesonw Differential Revision: https://developer.blender.org/D13086
2021-11-09Fix T92876: Cycles incorrect volume emission + absorption handlingBrecht Van Lommel
2021-11-09Fix T92876: Cycles incorrect volume emission + absorption handlingBrecht Van Lommel
2021-10-27Cycles: Replace saturate with saturatefWilliam Leeson
saturate is depricated in favour of __saturatef this replaces saturate with __saturatef on CUDA by createing a saturatef function which replaces all instances of saturate and are hooked up to the correct function on all platforms. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13010
2021-10-26Cycles: remove prefix from source code file namesBrecht Van Lommel
Remove prefix of filenames that is the same as the folder name. This used to help when #includes were using individual files, but now they are always relative to the cycles root directory and so the prefixes are redundant. For patches and branches, git merge and rebase should be able to detect the renames and move over code to the right file.
2021-10-26Cycles: changes to source code folders structureBrecht Van Lommel
* Split render/ into scene/ and session/. The scene/ folder now contains the scene and its nodes. The session/ folder contains the render session and associated data structures like drivers and render buffers. * Move top level kernel headers into new folders kernel/camera/, kernel/film/, kernel/light/, kernel/sample/, kernel/util/ * Move integrator related kernel headers into kernel/integrator/ * Move OSL shaders from kernel/shaders/ to kernel/osl/shaders/ For patches and branches, git merge and rebase should be able to detect the renames and move over code to the right file.