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-01-10Fix T93727: Tiled render error in Cycles after changing temp directorySergey Sharybin
Consider temporary directory to be variant part of session configuration which gets communicated to the tile manager on render reset. This allows to be able to render with one temp directory, change the directory, render again and have proper render result even with enabled persistent data. For the ease of access to the temp directory expose it via the render engine API (engine.temp_directory). Differential Revision: https://developer.blender.org/D13790
2022-01-10Fix second render failure with Cycles persistent dataSergey Sharybin
The issue was caused by the recent changes in the way how the render result is drawn: the display driver now could hold an OpenGL resources. Those resources are not shared across contexts so whenever OpenGL context is destroyed those resources are to be destroyed as well (and not attempted to be re-used for a next render). Do such destruction and entire driver re-creation since it does simplifies things from API usage point of view without causing measurable slowdown. Steps to reproduce the issue: - Set the render resolution to 2x of Full HD - Enable persistent data - Render (F12) - Render again Observe OpenGL state being corrupted. Easy to see in debug mode where IMM abstraction level reports issues about the buffer size not being the proper size. This was caused by the display driver trying to use VAO from the previous OpenGL context. Differential Revision: https://developer.blender.org/D13789
2022-01-10Cleanup: typos in comments, remove libnumaapi referenceCampbell Barton
2022-01-07Fix wrong shadow terminator geometry offset with deformation motion blurOlivier Maury
Differential Revision: https://developer.blender.org/D13759
2022-01-07Fix wrong shadow terminator geometry offset for instancesOlivier Maury
Must take into account SD_OBJECT_TRANSFORM_APPLIED to determine if the normal was already in world space. Differential Revision: https://developer.blender.org/D13639
2022-01-07Fix T93350: Cycles renders shows black during rendering huge resolutionsBrecht Van Lommel
The root of the issue is caused by Cycles ignoring OpenGL limitation on the maximum resolution of textures: Cycles was allocating texture of the final render resolution. It was exceeding limitation on certain GPUs and driver. The idea is simple: use multiple textures for the display, each of which will fit into OpenGL limitations. There is some code which allows the display driver to know when to start the new tile. Also added some code to allow force graphics interop to be re-created. The latter one ended up not used in the final version of the patch, but it might be helpful for other drivers implementation. The tile size is limited to 8K now as it is the safest size for textures on many GPUs and OpenGL drivers. This is an updated fix with a workaround for freezing with the NVIDIA driver on Linux. Differential Revision: https://developer.blender.org/D13385
2022-01-07Cycles: Fix Metal buildMichael Jones
This patch fixes a couple of new Metal kernel compilation errors: 1) a kernel parameter count overflow, and 2) missing address space qualifiers. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13763
2022-01-07Cycles: Remove usage of libnumaapiSergey Sharybin
No need for it now since all the threading queries and scheduling is done via TBB. Should be no functional changes as all the removed code is supposed to be unused.
2022-01-07Fix T94310: Blender doesn't support with 128 threads well in Win11Jagannadhan Ravi
Query TBB for the maximum allowed concurrency, which is free from a bug in own concurrency detection code. One thing to keep in mind is that now Cycles is limited by the number of threads in the TBB areana from which Session is created. This isn't a problem for Blender since we do not limit arena on Blender side. Could be something to watch out for in other Cycles integrations. Differential Revision: https://developer.blender.org/D13658
2022-01-06Fix Cycles updating display unnecessarily when stopping 3D viewportBrecht Van Lommel
Debug code accidentally committed in 466b50d. This was found while investigating issues with D13385.
2022-01-05Fix/workaround macOS Rosetta crash running Cycles AVX testsBrecht Van Lommel
Just disable these tests on macOS for now as fixing seems hard, and we want to be able to cross-compile and test x86_64 on Arm machines on the buildbot.
2022-01-05Fix Cycles AVX test failure with x86_64 build running on ArmBrecht Van Lommel
Don't create const avx vectors before validating if CPU supports AVX.
2022-01-05Fix T94563: Cycles standalone build error on with strict float/double castingBrecht Van Lommel
Thanks to John David for finding this.
2022-01-05Fix Cycles using Cancel semantic on final result writeSergey Sharybin
Seems like a copy-paste bug from another place.
2022-01-05Cleanup: rename mesh -> geom in some places that now handle multiple geom typesBrecht Van Lommel
2022-01-05Cleanup: compiler warnings about unused codeBrecht Van Lommel
2022-01-05Cycles: Add OptiX temporal denoising supportPatrick Mours
Enables the `bpy.ops.cycles.denoise_animation()` operator again and modifies it to support temporal denoising with OptiX. This requires renders that were done with both the "Vector" and "Denoising Data" passes. Differential Revision: https://developer.blender.org/D11442
2022-01-05Cycles: support rendering PointCloud motion blur from attributeKévin Dietrich
This adds support to render PointCloud motion blur from a standard "velocity" attribute. This implementation is similar to that of the Mesh geometry, and perhaps some code could be deduplicated through a more generic API. `mesh_need_motion_attribute` was renamed `object_need_motion_attribute` as it does not really require a mesh and moved to `util.h` so that it can be shared. This fixes T94622. Reviewed By: brecht Maniphest Tasks: T94622 Differential Revision: https://developer.blender.org/D13719
2022-01-03Cleanup: Silence "integer conversion resulted in a change of sign" warning ↵Patrick Mours
in Cycles kernel code Occured because "PATH_RAY_SHADOW_CATCHER_BACKGROUND" is expressed as an unsigned integer, because too large for a signed integer, but the "PathRayFlag" enum type defaulted to a signed integer still.
2022-01-03Cleanup: Unused variable in Cycles codeSergey Sharybin
2022-01-03UDIM: Support virtual filenamesJesse Yurkovich
This implements the design detailed in T92696 to support virtual filenames for UDIM textures. Currently, the following 2 substitution tokens are supported: | Token | Meaning | | ----- | ---- | | <UDIM> | 1001 + u-tile + v-tile * 10 | | <UVTILE> | Equivalent to u<u-tile + 1>_v<v-tile + 1> | Example for u-tile of 3 and v-tile of 1: filename.<UDIM>_ver0023.png --> filename.1014_ver0023.png filename.<UVTILE>_ver0023.png --> filename.u4_v2_ver0023.png For image loading, the existing workflow is unchanged. A user can select one or more image files, belonging to one or more UDIM tile sets, and have Blender load them all as it does today. Now the <UVTILE> format is "guessed" just as the <UDIM> format was guessed before. If guessing fails, the user can simply go into the Image Editor and type the proper substitution in the filename. Once typing is complete, Blender will reload the files and correctly fill the tiles. This workflow is new as attempting to fix the guessing in current versions did not really work, and the user was often stuck with a confusing situation. For image saving, the existing workflow is changed slightly. Currently, when saving, a user has to be sure to type the filename of the first tile (e.g. filename.1001.png) to save the entire UDIM set. The number could differ if they start at a different tile etc. This is confusing. Now, the user should type a filename containing the appropriate substitution token. By default Blender will fill in a default name using the <UDIM> token but the user is free to save out images using <UVTILE> if they wish. Differential Revision: https://developer.blender.org/D13057
2021-12-20Fix T94251: Cycles wrong pointcloud normal for instanced objectsBrecht Van Lommel
Refactor code a bit also so we need to do fewer matrix transforms for shader data setup of points and curves.
2021-12-20Fix Cycles OptiX crash with 3D curves after point cloud changesBrecht Van Lommel
Includes refactoring to reduce the number of bits taken by primitive types, so they more easily fit in the OptiX limit.
2021-12-17Fix error in Cycles geometry update tagging after pointcloud additionBrecht Van Lommel
Thanks to Christophe Hery for spotting this.
2021-12-17Fix T94142, T94182: Cycles metal broken after pointcloud changesMichael
Missing ccl_private form an older patch. Differential Revision: https://developer.blender.org/D13612
2021-12-17Cleanup: spelling in commentsCampbell Barton
2021-12-16Cycles: pointcloud renderingBrecht Van Lommel
This add support for rendering of the point cloud object in Blender, as a native geometry type in Cycles that is more memory and time efficient than instancing sphere meshes. This can be useful for rendering sand, water splashes, particles, motion graphics, etc. Points are currently always rendered as spheres, with backface culling. More shapes are likely to be added later, but this is the most important one and can be customized with shaders. For CPU rendering the Embree primitive is used, for GPU there is our own intersection code. Motion blur is suppored. Volumes inside points are not currently supported. Implemented with help from: * Kévin Dietrich: Alembic procedural integration * Patrick Mourse: OptiX integration * Josh Whelchel: update for cycles-x changes Ref T92573 Differential Revision: https://developer.blender.org/D9887
2021-12-16Revert "Cycles-X: Add hysteresis to resolution divider algorithm"Brecht Van Lommel
This reverts commit d8b42751625c915113b64f5a2d9c72f19f009fee. It causes reduced viewport render resolution. Revert for now until I have time to look into this more closely.
2021-12-15Fix T93995: Cycles camera motion blur not working in right stereo viewBrecht Van Lommel
Thanks to Michael (michael64) for identifying the solution. Ref D13567
2021-12-14Fix Cycles compilation with CUDA / Optix after recent Map Range additions.Thomas Dinges
2021-12-14Nodes: Add vector support to Map Range nodeCharlie Jolly
This replaces lost functionality from the old GN Attribute Map Range node. This also adds vector support to the shader version of the node. Notes: This breaks forward compatibility as this node now uses data storage. Reviewed By: HooglyBoogly, brecht Differential Revision: https://developer.blender.org/D12760
2021-12-14Cleanup: clang-formatCampbell Barton
2021-12-14Fix T94022: Both options GPU/CPU checked under preferences cause viewport ↵Michael Jones
render crash. (ARM/Metal) This fixes crash T94022 when selecting live viewport render with both GPU & CPU devices selected. It is caused by incorrect `KernelBVHLayout` assignment. Similar to `BVH_LAYOUT_MULTI_OPTIX` for Optix, this patch adds a `BVH_LAYOUT_MULTI_METAL` to correctly redirect to the correct Metal BVH layout type. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13561
2021-12-13Cycles: add text explaining minimum requirements for Metal when no device foundBrecht Van Lommel
2021-12-13Cycles: enable Metal GPU renderingBrecht Van Lommel
This adds the remaining bits to enable Metal on macOS. There are still performance optimizations and other improvements planned, but it should now be ready for early testing. This is currently only enabled on in Arm builds for M1 GPUs. It is not yet working on AMD or Intel GPUs. Ref T92212 Differential Revision: https://developer.blender.org/D13503
2021-12-13Cleanup: clang-formatCampbell Barton
2021-12-10Fix T92036: `Magic Texture` in Volumetric World Shaders render differently ↵William Leeson
with the CPU and GPU When rendering volume surfaces in unbounded worlds the volume stepping can produce large values. If used with a magic texture node the values can results in a Inf float which when used in a sin or cos produces a NaN. To fix this the input values are mapped into the periodic range of the sin and cos functions (-2*PI 2*PI) this stops the possibility of a Inf occurring and thus the NaN. It also improves the accuracy and smoothness of the result due to loss of precision when large values are summed with smaller ones effectively removing the parts of the smaller number (i.e. those in the -2PI to 2PI range) that result in variation of the output of sin and cos. Reviewed By: brecht Maniphest Tasks: T92036 Differential Revision: https://developer.blender.org/D12821
2021-12-09Fix Cycles wrong adaptive sampling render when using sample offsetAndrii
Sample offset was not accounted for in the adaptive sampling code and caused issues, like immediately applied adaptive filtering, with non-zero values. Differential Revision: https://developer.blender.org/D13510
2021-12-09Cycles: support merging images rendered with adaptive samplingAndrii
This patch adds support for merging images rendered with adaptive sampling to the merge operator (which is currently only exposed in the Python API). To do this an sample count buffer is created for each render layer from the sample count pass if it exists, or from the metadata otherwise. This is then used for averaging passes. Differential Revision: https://developer.blender.org/D13457
2021-12-09Cleanup: use more modern C++ in Cycles merge operatorAndrii
Use structured binding and for-each loop, remove reduntant type casts, use find_if instead of loop. Differential Revision: https://developer.blender.org/D13456
2021-12-09Fix T93498: Cycles fast GI add method affected by bounces settingsBrecht Van Lommel
This is only for the replace method.
2021-12-09Fix T93890: Cycles error with shadow catcher + OptiX denoise without passesBrecht Van Lommel
2021-12-09Fix T93874: Cycles crash with fast GI approximationBrecht Van Lommel
2021-12-09Cleanup: spelling in commentsCampbell Barton
2021-12-09Cycles-X: Add hysteresis to resolution divider algorithmAlaska
Adds hysteresis to the resolution divider algorithm to avoid having the resolution bounce around when on the boundary of two resolutions. Reviewed By: brecht, leesonw Differential Revision: https://developer.blender.org/D12385
2021-12-08Cycles: Fix OS version warningsMichael Jones
This patch suppresses OS version warnings and hides currently unsupported Metal GPUs when enumerating devices. Reviewed By: brecht Differential Revision: https://developer.blender.org/D13506
2021-12-08Cleanup: clang-formatAaron Carlisle
2021-12-08Cleanup: spelling in commentsCampbell Barton
2021-12-08Cycles: Fix Metal BVH crash caused by missing `WITH_METAL` defineMichael Jones
Reviewed By: brecht Differential Revision: https://developer.blender.org/D13505
2021-12-07Revert "Fix T93350: Cycles renders shows black during rendering huge ↵Brecht Van Lommel
resolutions" This reverts commit 5e37f70307bdacedd0f7da65f8b385bc1426f21d. It is leading to freezing of the entire desktop for a few seconds when stopping 3D viewport rendering on my Linux / NVIDIA system.