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
2021-11-06Cycles: perform CPU film reading in the kernel, to use AVX2 half conversionBrecht Van Lommel
Adds a bunch of CPU kernel function to process on row of pixels, and use those instead of calling unoptimized implementations. Fixes T92598
2021-11-05Fix T91733, T92486: Cycles wrong shadow catcher with volumesBrecht Van Lommel
Changes: * After hitting a shadow catcher, re-initialize the volume stack taking into account shadow catcher ray visibility. This ensures that volume objects are included in the stack only if they are shadow catchers. * If there is a volume to be shaded in front of the shadow catcher, the split is now performed in the shade_volume kernel after volume shading is done. * Previously the background pass behind a shadow catcher was done as part of the regular path, now it is done as part of the shadow catcher path. For a shadow catcher path with volumes and visible background, operations are done in this order now: * intersect_closest * shade_volume * shadow catcher split * intersect_volume_stack * shade_background * shade_surface The world volume is currently assumed to be CG, that is it does not exist in the footage. We may consider adding an option to control this, or change the default. With a volume object this control is already possible. This includes refactoring to centralize the logic for next kernel scheduling in intersect_closest.h. Differential Revision: https://developer.blender.org/D13093
2021-11-05Fix T92566: Cycles distant lights too dim in reflectionsBrecht Van Lommel
2021-11-05Fix T92503: Cycles OSL crash with object attributesBrecht Van Lommel
Can't cast to float4 because it might not have correct alignment.
2021-11-05Fix T92815: Incorrect handling of evaluated meshes from curvesHans Goudey
Evaluated meshes from curves are presented to render engines as separate instance objects now, just like evaluated meshes from other object types like point clouds and volumes. For that reason, cycles should not consider curve objects as geometry (previously it did, meaning it retrieved a second mesh from the curve object as well as the temporary evaluated mesh geometry). Further, avoid adding a curve object's evaluated mesh as data_eval, since that is special behavior for meshes that is arbitrary. Adding an evaluated mesh there but not an evalauted pointcloud is arbitrary, for example. Retrieve the evaluated mesh in from the geometry set in BKE_object_get_evaluated_mesh now, to support that change. This gets us closer to a place where all of an object's evaluated data is stored in geometry_set_eval, and we just have helper functions to access specific geometry components. Differential Revision: https://developer.blender.org/D13118
2021-11-04Cleanup: fix typoBrecht Van Lommel
2021-11-04Cycles: add code to check for supported HIP device architecturesBrecht Van Lommel
RDNA2 only for now to be conservative, but testing more hardware is underway. Ref T92393 Differential Revision: https://developer.blender.org/D12958
2021-11-04Fix Cycles HIP Kernels loading on Arch names with extra optionsBrian Savery
The kernel file names are search for based on the arch name, for example gfx1010. However HIP's gcnArchName can contain options such as xnack- in the name. For example gfx1010:sramecc-:xnack-. This revision tokenizes the info from gcnArchName and just uses the first token for choosing the Kernel file to use. Kernels are portable across those features in the arch name. Also remove the bit for recompiling ptx as clearly that is not relevant. Differential Revision: https://developer.blender.org/D13117
2021-11-04Fix part of T91797: Cycles CPU and GPU render differences with camera inside ↵Brecht Van Lommel
volume
2021-11-04Fix T91986: incorrect syncing of geometry instancesJacques Lucke
The issue was that some geometries were not synced again even when they changed. This commit adds a map that keeps track of the geometries that need to be updated when an object has changed. Differential Revision: https://developer.blender.org/D13020
2021-11-04Fix T92450: Cycles wrong render with overlapping glass, transparency and volumesBrecht Van Lommel
We need to store the continuation probability used to make the termination decision in intersect_closest, instead of recomputing it in shade_surface. Because otherwise a shade_volume in between can change the throughput and change the probability.
2021-11-04Fix T92002: Cycles baking certain light passes does not workBrecht Van Lommel
When reading pixels for virtual passes like diffuse, that sum diffuse direct and indirect passes, we do not need them to exist with an offset in the render buffer.
2021-11-02Fix T85676: Cycles EXR merging not working with some single layer EXRsBrecht Van Lommel
If there is only a layer without a name, use metadata from the first cycles layer in the metadata, if any.
2021-11-02Fix T77681, T92634: noise texture artifacts with high detailBrecht Van Lommel
We run into float precision issues here, clamp the number of octaves to one less, which has little to no visual difference. This was empirically determined to work up to 16 before, but with additional inputs like roughness only 15 appears to work. Also adds misisng clamp for the geometry nodes implementation.
2021-11-02Fix T92462: Cycles crash calculating hair transparencySergey Sharybin
Need to make sure images needed for hair shaders are loaded before running the shader. The naming is a bit misleading, but this is an internal API and we can change it easily. Submitting minimal patch needed to fix logic in the code to make it safer to review for 3.0. Differential Revision: https://developer.blender.org/D13067
2021-11-02Fix typo in Cycles PMJ enum define.Thomas Dinges
Reported by Raimund58 in the chat, thanks!
2021-11-01Fix Cycles integrator presets.Thomas Dinges
New presets couldn't be added.
2021-11-01Fix Cycles unit test failing after recent changesBrecht Van Lommel
2021-11-01Fix Python error running regression tests after recent changesBrecht Van Lommel
2021-11-01Fix Cycles Python warnings when removed OpenCL device was enabledBrecht Van Lommel
2021-11-01Fix T92575: Cycles black pixels when rendering with > 65k samplesWilliam Leeson
Differential Revision: https://developer.blender.org/D13039
2021-11-01Fix T92684: Cycles does not fall back to OIDN if OptiX is not availableBrecht Van Lommel
2021-11-01Fix Cycles denoising depth pass missing in compositorBrecht Van Lommel
2021-11-01Fix Cycles logging some excessive detail with default --debug-cyclesBrecht Van Lommel
2021-11-01Fix T92671: confusing Cycles debug logs about CPU architectureBrecht Van Lommel
Instead of printing debug flags listing various CPU and GPU settings that may or may not be used, print when we are using them. This include CPU kernel types, OptiX debugging and CUDA and HIP adaptive compilation. BVH type was already printed.
2021-10-29Fix T92592: Cycles stereo render not rendering right viewBrecht Van Lommel
2021-10-29Fix T88877: 2.93: Crash on recent OSX with a non-English locale.Ankit Meel
Looks like OSX changed the default format of its locale, which is not valid anymore for gettext/boost::locale. Solution based on investigations and patch by Kieun Mun (@kieuns), with some further tweaks by Ankit Meel (@ankitm), many thanks. Also add an exception catcher on `std::runtime_error` in `bl_locale_set()`, since in OSX catching the ancestor `std::exception` does not work with `boost::locale::conv::conversion_error` and the like for some reasons. Reviewed By: #platform_macos, brecht Maniphest Tasks: T88877 Differential Revision: https://developer.blender.org/D13019
2021-10-28Fix T92513: Cycles stereo pole merge not rotating along with cameraBrecht Van Lommel
2021-10-28Fix T92255: Cycles Christensen-Burley render errors with scaled objectsBrecht Van Lommel
2021-10-28Fix T92491: Cycles panoramic camera inside volume fails with near clippingBrecht Van Lommel
2021-10-28Fix T92158: Cycles crash with Fast GI and area light MISBrecht Van Lommel
2021-10-28Cleanup: compiler warnings in with Cycles OSL and clangBrecht Van Lommel
2021-10-28Fix T92503: Cycles OSL crash with material previewsBrecht Van Lommel
2021-10-28Fix T92526: Cycles viewport denoiser red tint after recent changesBrecht Van Lommel
2021-10-27Cycles: tweak scrambling distance UI grouping, and improve tooltipBrecht Van Lommel
2021-10-27Cycles: Update UI for Scrambling Distance PatchAlaska
The current UI for the Scramble Distance patch is grayed out depending on different settings that are enabled. However it didn't make much sense to me so I have updated when the UI is grayed out to hopefully make more sense to the end user. Differential Revision: https://developer.blender.org/D12963
2021-10-27Cycles: Scrambling distance for the PMJ samplerWilliam Leeson
Adds scrambling distance to the PMJ sampler. This is based on the work by Mathieu Menuet in D12318 who created the original implementation for the Sobol sampler. Reviewed By: brecht Maniphest Tasks: T92181 Differential Revision: https://developer.blender.org/D12854
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-26Fix Cycles runtime GPU kernel compilation after recent refactorBrecht Van Lommel
2021-10-26Cleanup: remove files that should not have been added in file renamesBrecht Van Lommel
2021-10-26Distance Scrambling for for Cycles X - Sobol versionWilliam Leeson
Cycles:Distance Scrambling for Cycles Sobol Sampler This option implements micro jittering an is based on the INRIA research paper [[ https://hal.inria.fr/hal-01325702/document | on micro jittering ]] and work by Lukas Stockner for implementing the scrambling distance. It works by controlling the correlation between pixels by either using a user supplied value or an adaptive algorithm to limit the maximum deviation of the sample values between pixels. This is a follow up of https://developer.blender.org/D12316 The PMJ version can be found here: https://developer.blender.org/D12511 Reviewed By: leesonw Differential Revision: https://developer.blender.org/D12318
2021-10-26Fix T92502: Position Pass brokenSergey Sharybin
The kernel was writing it for the first sample only, while the film accessor was thinking it needs to be filtered.
2021-10-26Cleanup: skip unnecessary OIIO image setup when not using tiled renderBrecht Van Lommel
2021-10-26Cleanup: compiler warning when building without OpenSubdivBrecht Van Lommel
2021-10-26Cleanup: remove useless WITH_CYCLES_DEVICE_MULTIBrecht Van Lommel
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.
2021-10-26Cleanup: compiler warningsBrecht Van Lommel
2021-10-26Cycles: add additive AO support through Fast GI settingsBrecht Van Lommel
Add a Fast GI Method, either Replace for the existing behavior, or Add to add ambient occlusion like the old world settings. This replaces the old Ambient Occlusion settings in the world properties.
2021-10-26Cycles: restore Denoising Depth pass, when enabling Denoising Data passesBrecht Van Lommel
This is still useful in some cases even if not used by OpenImageDenoise. In the future this may be replaced with a more generic system to control render passes and filtering, but for now this just does what it did before.