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-08-20Merge remote-tracking branch 'origin/blender-v2.90-release' into ↵soc-2020-production-ready-light-tree-2Sam Kottler
soc-2020-production-ready-light-tree-2
2020-08-18Remove (ifdef) RNA for simulation, point cloud and particlesDalai Felinto
For 2.90 release this should not be exposed in the RNA API. In master this needs to be ON by default, that's all. Differential Revision: https://developer.blender.org/D8589
2020-08-17Fix T77683: Cycles baking crash with motion blur enabled and no cameraPhilipp Oeser
specified Maniphest Tasks: T77683 Differential Revision: https://developer.blender.org/D8593
2020-08-13Finished bringing light tree code up to dateSam Kottler
2020-08-13Merge branch 'blender-v2.90-release' into soc-2020-production-ready-light-tree-2Sam Kottler
2020-08-12brought light tree code up to dateSam Kottler
2020-08-12Merge branch 'blender-v2.90-release' into soc-2020-production-ready-light-tree-2Sam Kottler
2020-08-06Fix T79586: "rendering paused" not shown when viewport render starts pausedBrecht Van Lommel
2020-08-06Cycles: load OpenVDB file earlier in Blender exportBrecht Van Lommel
In an upcoming bugfix we'll use OpenVDB data structures directly to build mesh for sparse OpenVDB volumes, loading them OpenVDB grids earlier and removing any references to Blender data structures makes that easier. This also makes changes to Blender volumes to support this, so Cycles can take ownership of a grid without Blender having to keep its own reference to it. This should also be useful in a future Python API. Ref D8401
2020-07-31Fix T79111: Cycles: Image Sequence not renderingPhilipp Oeser
Caused by c7aa0f9d743ee9cafe91b4a51d9f1ecc5e437d71. Since above commit, BKE_image_user_frame_calc requires an image (not just the iuser) to get the framenumber. Cycles used to call this with NULL image (in `image_user_file_path` and `image_user_frame_number`), now pass the image as well. Maniphest Tasks: T79111 Differential Revision: https://developer.blender.org/D8439
2020-07-28Fix T79067: Cycles panorama viewport render stretched after recent changesBrecht Van Lommel
2020-07-28Fix T79219: Cycles NLM denoiser clean passes broken after recent changesBrecht Van Lommel
2020-07-13Fix T78881: Cycles OpenImageDenoise not using albedo and normal correctlyBrecht Van Lommel
Properly normalize buffers now. Also expose option to not use albedo and normal just like OptiX.
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 T78801: Eevee missing setting to enable/disable freestyle per view layerBrecht Van Lommel
This was only visible when Cycles was enabled.
2020-07-10Cycles: support OpenImageDenoise in final rendersBrecht Van Lommel
Performance is not great currently due to the API not seeming to support efficient denoising of multiple tiles at the same time. So in many cases only one or a few threads will actually be denoising at the same time. In renders with many samples this is not a big problem, but for faster renders it's a signficant overhead. We should try to optimize this still, possibly by batching denoising of a bigger neighborhood of multiple tiles at once.
2020-07-10Cleanup: minor refactoring in Cycles update detection codeBrecht Van Lommel
2020-07-09Fix Cycles unnecessary updates to camera in viewport renderBrecht Van Lommel
Problem identified by Milan Jaros.
2020-07-07Cleanup: don't end description with a '.'Jacques Lucke
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-07Fix T78692: improve UI regarding the effect of the denoiser on denoising passesBrecht Van Lommel
It wasn't obvious that the choice of Cycles denoiser also generates different denoising data passes for compositing.
2020-07-06Reduce `DupliObject::persistent_id` from 16 to 8 itemsSybren A. Stüvel
For historical reasons, `DupliObject::persistent_id` was of size `2*MAX_DUPLI_RECUR`. These reasons are now gone, and the persistent ID always gets exactly one array element for every dupli-recursion. Differential Revision: https://developer.blender.org/D8222 Reviewed by: brecht
2020-07-03Cycles: rename viewport denoise Fastest option to Automatic and extend tooltipBrecht Van Lommel
2020-07-01Cleanup: Two two spaces around python classAaron Carlisle
2020-06-30UI: Cycles: Use Split layout for object motion blurAaron Carlisle
2020-06-30Fix T78038: Cycles crash rendering with volume object and motion blurBrecht Van Lommel
2020-06-30Fix T78447: Cycles vertex color node not working with hairBrecht Van Lommel
2020-06-30UI: Use single column for cycles ray visibility checkboxesAdrian Newton
Differential Revision: https://developer.blender.org/D7612
2020-06-26Fix T78310: tweak layout in denoising panel to have more spacingBrecht Van Lommel
2020-06-26Cycles: add experimental preference to replace magic debug value 256Brecht Van Lommel
Previously you'd have to run with --debug-value 256, now just make it a preference so the Debug panel can be always available for developers.
2020-06-25Cycles: add support for rendering sculpt vertex colorsBrecht Van Lommel
Ref T78041
2020-06-24Cleanup: compiler warningsBrecht Van Lommel
2020-06-24Cleanup: fix typo in denoiser menuBrecht Van Lommel
2020-06-24Cycles: add Intel OpenImageDenoise support for viewport denoisingBrecht Van Lommel
Compared to Optix denoise, this is usually slower since there is no GPU acceleration. Some optimizations may still be possible, in avoid copies to the GPU and/or denoising less often. The main thing is that this adds viewport denoising support for computers without an NVIDIA GPU (as long as the CPU supports SSE 4.1, which is nearly all of them). Ref T76259
2020-06-24Cycles: add denoising settings to the render propertiesBrecht Van Lommel
Enabling render and viewport denoising is now both done from the render properties. View layers still can individually be enabled/disabled for denoising and have their own denoising parameters. Note that the denoising engine also affects how denoising data passes are output even if no denoising happens on the render itself, to make the passes compatible with the engine. This includes internal refactoring for how denoising parameters are passed along, trying to avoid code duplication and unclear naming. Ref T76259
2020-06-24UI: Cycles: Use Title CaseAaron Carlisle
2020-06-23Preferences: New experimental settings for particle system and hairJacques Lucke
This replaces the cmake options `WITH_NEW_OBJECT_TYPES` and `WITH_NEW_SIMULATION_TYPE` with two experimental userpref settings: * `use_new_particle_system`: Enables the point cloud type and the simulation editor. * `use_new_hair_type`: Only displays the add-operator in the add menu for now. Note, in the current state you can't do anything productive with the new particle system or the new hair type. Features will be added step by step in the upcoming weeks and months. Reviewers: brecht Differential Revision: https://developer.blender.org/D8096
2020-06-22Fix random crash in Cycles smoke volume loadingBrecht Van Lommel
Don't access evaluated mesh data after freeing Blender depsgraph. Potentially related to T77954.
2020-06-22Cycles: enable Embree by default for CPU renderingBrecht Van Lommel
For GPU debugging purposes, it is still possible to render with the same BVH2 on the CPU using the Debug panel in the render properties. Note that building Blender without Embree will now lead to significantly reduced performance in CPU rendering, and a few of the Cycles regression tests will fail due to small pixel differences. Ref T73778 Depends on D8014 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8015
2020-06-22Cycles: internal refactoring to make thick/ribbon curve separate primitivesBrecht Van Lommel
Also removing the curve system manager which only stored a few curve intersection settings. These are all changes towards making shape and subdivision settings per-object instead of per-scene, but there is more work to do here. Ref T73778 Depends on D8013 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8014
2020-06-22Cycles: port curve-ray intersection from Embree for use in Cycles GPUBrecht Van Lommel
This keeps render results compatible for combined CPU + GPU rendering. Peformance and quality primitives is quite different than before. There are now two options: * Rounded Ribbon: render hair as flat ribbon with (fake) rounded normals, for fast rendering. Hair curves are subdivided with a fixed number of user specified subdivisions. This gives relatively good results, especially when used with the Principled Hair BSDF and hair viewed from a typical distance. There are artifacts when viewed closed up, though this was also the case with all previous primitives (but different ones). * 3D Curve: render hair as 3D curve, for accurate results when viewing hair close up. This automatically subdivides the curve until it is smooth. This gives higher quality than any of the previous primitives, but does come at a performance cost and is somewhat slower than our previous Thick curves. The main problem here is performance. For CPU and OpenCL rendering performance seems usually quite close or better for similar quality results. However for CUDA and Optix, performance of 3D curve intersection is problematic, with e.g. 1.45x longer render time in Koro (though there is no equivalent quality and rounded ribbons seem fine for that scene). Any help or ideas to optimize this are welcome. Ref T73778 Depends on D8012 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8013
2020-06-22Cycles: remove SIMD BVH optimizations, to be replaced by EmbreeBrecht Van Lommel
Ref T73778 Depends on D8011 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8012
2020-06-22Cycles: always perform backface culling for curve, remove optionBrecht Van Lommel
The hair BSDFs are already designed to assume this, and disabling backface culling would break them in some cases. Ref T73778 Depends on D8009 Maniphest Tasks: T73778 Differential Revision: https://developer.blender.org/D8010
2020-06-22Cycles: remove support for rendering hair as triangle and linesBrecht Van Lommel
Triangles were very memory intensive. The only reason they were not removed yet is that they gave more accurate results, but there will be an accurate 3D curve primitive added for this. Line rendering was always poor quality since the ends do not match up. To keep CPU and GPU compatibility we just remove them entirely. They could be brought back if an Embree compatible implementation is added, but it's not clear to me that there is a use case for these that we'd consider important. Ref T73778 Reviewers: #cycles Subscribers:
2020-06-22Cleanup: minor refactoring around DeviceTaskBrecht Van Lommel
2020-06-17Cycles: Add new Sky Texture method including direct sunlightLukas Stockner
This commit adds a new model to the Sky Texture node, which is based on a method by Nishita et al. and works by basically simulating volumetric scattering in the atmosphere. By making some approximations (such as only considering single scattering), we get a fairly simple and fast simulation code that takes into account Rayleigh and Mie scattering as well as Ozone absorption. This code is used to precompute a 512x128 texture which is then looked up during render time, and is fast enough to allow real-time tweaking in the viewport. Due to the nature of the simulation, it exposes several parameters that allow for lots of flexibility in choosing the look and matching real-world conditions (such as Air/Dust/Ozone density and altitude). Additionally, the same volumetric approach can be used to compute absorption of the direct sunlight, so the model also supports adding direct sunlight. This makes it significantly easier to set up Sun+Sky illumination where the direction, intensity and color of the sun actually matches the sky. In order to support properly sampling the direct sun component, the commit also adds logic for sampling a specific area to the kernel light sampling code. This is combined with portal and background map sampling using MIS. This sampling logic works for the common case of having one Sky texture going into the Background shader, but if a custom input to the Vector node is used or if there are multiple Sky textures, it falls back to using only background map sampling (while automatically setting the resolution to 4096x2048 if auto resolution is used). More infos and preview can be found here: https://docs.google.com/document/d/1gQta0ygFWXTrl5Pmvl_nZRgUw0mWg0FJeRuNKS36m08/view Underlying model, implementation and documentation by Marco (@nacioss). Improvements, cleanup and sun sampling by @lukasstockner. Differential Revision: https://developer.blender.org/D7896
2020-06-10Fix Cycles viewport missing refresh when changing scene hair settingsBrecht Van Lommel
This code was not updated for the CoW depsgraph.
2020-06-10Cycles: Improve OptiX viewport denoising performance with CUDA renderingPatrick Mours
With this patch Cycles recognizing when a logical OptiX and CUDA device represent the same physical GPU and attempts to eliminate unnecessary tile copies for viewport rendering if that is the case for all active devices. In addition, denoising is now no longer performed on the first available OptiX device only, but instead it will try to match CUDA and OptiX rendering/denoising devices exactly to maximize utilization. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7975
2020-06-09Cleanup: avoid addition with large strings in PythonCampbell Barton
This is known to be inefficient, use a second write call instead.
2020-06-08Cycles: Add support for P2P memory distribution (e.g. via NVLink)Patrick Mours
This change modifies the multi-device implementation to support memory distribution across devices, to reduce the overall memory footprint of large scenes and allow scenes to fit entirely into combined GPU memory that previously had to fall back to host memory. Reviewed By: brecht Differential Revision: https://developer.blender.org/D7426