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-02-05Cleanup: cmake indentation, white-spaceCampbell Barton
2021-02-04UI: Win32 Window Creation RefactorHarley Acheson
Simplification of Win32 GHOST_WindowWin32 with improved support for owned windows. Differential Revision: https://developer.blender.org/D9971 Reviewed by Brecht Van Lommel
2021-02-03Alembic procedural: fix crash when cancelling a render duringKévin Dietrich
synchronization
2021-02-02Merge branch 'blender-v2.92-release'Sebastián Barschkis
2021-02-02Fix T84649: Quick liquid causing crash on scale operationSebastián Barschkis
This commit makes use of the updated fluid sources files (previous commit rB9ad828dbad94d279521875db47a3472a38cc9b29)
2021-02-02Python API: option for render engines to delegate Freestyle render to EeveeMiguel Pozo
Eevee is now used for Freestyle rendering by default, since other engines are unlikely to have support for this. Workbench and Cycles do their own rendering. RenderEngine add-ons can do their own Freestyle rendering by setting bl_use_custom_freestyle = True. Differential Revision: https://developer.blender.org/D8335
2021-01-29Fix T85144: Cycles crashes when editing render properties in viewportKévin Dietrich
rendering Issue was caused by the sample pattern LUT always being freed and not rebuilt when properties driving its dimensions were modified.
2021-01-29Merge branch 'blender-v2.92-release'Patrick Mours
2021-01-29Fix T85148: OptiX viewport denoising regressionPatrick Mours
Commit 6e74a8b69f215e63e136cb4c497e738371ac798f changed the denoiser input passes default to include the normal pass. This does not always produce optimal images though, hence why the default was previously set to only include the color and albedo passes. This restores that behavior, so that viewport denoising with OptiX produces the same results as before.
2021-01-27Sky Texture: change Nishita Altitude to use unit systemMarco
Differential Revision: https://developer.blender.org/D9968
2021-01-27Merge branch 'blender-v2.92-release'Patrick Mours
2021-01-27Fix T85089: Crash when rendering scene that does not fit into GPU memory ↵James Horsley
with CUDA/OptiX The "cuda_mem_map_mutex" was potentially being locked recursively during the call to "CUDADevice::move_textures_to_host", which crashed. This moves around the locking and unlocking of "cuda_mem_map_mutex", so that it doesn't call a function that locks it while still holding the lock. Reviewed By: pmoursnv Maniphest Tasks: T85089, T84734 Differential Revision: https://developer.blender.org/D10219
2021-01-27Cleanup: spellingCampbell Barton
2021-01-26Merge branch 'blender-v2.92-release'Richard Antalik
2021-01-26Fix T85048: Cycles sculpt vertex color issues after recent changesBrecht Van Lommel
Attribute fields were not fully copied. Ref D10208
2021-01-26Fix Cycles standalone compilation following API changesCharles Flèche
The changes to the socket API were not applied to the standalone app. Also modify Camera.compute_auto_viewplane() to use Camera.full_width and Camera.full_height as it is not possible to publicly access Camera.width and Camera.height anymore, so the aspect ratio could be computed with stale data. Differential Revision: https://developer.blender.org/D9961
2021-01-26Cycles standalone: fix missing dependencies in CMake filesCharles Flèche
Also set default CYCLES_INSTALL_PATH to CMAKE_INSTALL_PREFIX. By default with a `make cycles` this will build to ${CMAKE_BINARY_DIR}/bin Differential Revision: https://developer.blender.org/D9961
2021-01-25Cleanup: spellingCampbell Barton
2021-01-25Merge branch 'blender-v2.92-release'Hans Goudey
2021-01-25Cycles: modernize usage of rna iteratorsJacques Lucke
Using rna iterators in range-based for loops is possible since {rBc4286ddb095d32714c9d5f10751a14f5871b3844}. This patch only updates the places that are easy to update without more changes in surrounding code. Differential Revision: https://developer.blender.org/D10195
2021-01-25Fix build error after Cycles Amembic procedural commitBrecht Van Lommel
2021-01-25Cycles: internal support for Alembic proceduralsKevin Dietrich
The implementation is currently optimized to load animation sequences once and then quickly scrubbing through them. Later on an option should be added to optimize for memory usage and only load the current frame into memory. Currently mesh and curve objects are supported, including support for UV and vertex color attributes. Missing still is support for arbitrary attributes and motion blur, as well as better handling of changing topology. Shader assignments are made using FaceSets found in the Alembic archive. The animation (and constant) data of the objects inside the Alembic archive is loaded at once at the beginning of the render and kept inside a cache. At each frame change we simply update the right socket of the corresponding Cycles node if the data is animated. This allows for fast playback in the viewport (depending on the scene size and compute power). Note this is not yet exposed in the Blender UI, it's a feature that is still under development and not ready for general use. Ref T79174, D3089
2021-01-25Cycles: internal support for the concept of proceduralsKevin Dietrich
Procedurals are nodes in the scene that can generate an arbitrary number of other nodes at render time. This will be used to implement an Alembic procedural that can load an Alembic file into Cycles nodes. In the future we also expect to have a USD procedural. Direct loading of such files at render time is a standard feature in other production renderers. Reasons to support this are memory usage and performance, delayed loading of heavy scene data until rendering, Cycles standalone rendering using standard file formats beyond our XML files, and shared functionality for Cycles integration in multiple 3D apps. Ref T79174, D3089
2021-01-25Cleanup: move code to find geometry shaders into own functionKevin Dietrich
Ref D3089
2021-01-25Fix T83344: Cycles baking with progressive refine fails on GPUBrecht Van Lommel
2021-01-25Fix T85010: Cycles viewport not showing certain material changes when using ↵Kévin Dietrich
GPU compute Modifications to triangle shader association were not considered when checking for updates and the associated device data array was not tagged as modified so it was not resent to the device(s).
2021-01-24Cleanup: spellingCampbell Barton
2021-01-22Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-22Fix T84745: more build errors with TBB 2021Brecht Van Lommel
* tbb::blocked_range moved to a different namespace and since the fix is non-trivial, remove some unused code that used this. * Task group priorities are no longer supported. It's unclear if they are useful at all right now and even set correctly, for now all tasks are equal priority with TBB 2021.
2021-01-22Cycles: optimize device updatesKévin Dietrich
This optimizes device updates (during user edits or frame changes in the viewport) by avoiding unnecessary computations. To achieve this, we use a combination of the sockets' update flags as well as some new flags passed to the various managers when tagging for an update to tell exactly what the tagging is for (e.g. shader was modified, object was removed, etc.). Besides avoiding recomputations, we also avoid resending to the devices unmodified data arrays, thus reducing bandwidth usage. For OptiX and Embree, BVH packing was also multithreaded. The performance improvements may vary depending on the used device (CPU or GPU), and the content of the scene. Simple scenes (e.g. with no adaptive subdivision or volumes) rendered using OptiX will benefit from this work the most. On average, for a variety of animated scenes, this gives a 3x speedup. Reviewed By: #cycles, brecht Maniphest Tasks: T79174 Differential Revision: https://developer.blender.org/D9555
2021-01-22Merge branch 'blender-v2.92-release'Sergey Sharybin
2021-01-22Cycles: Fix usage of double floating precision in CNanoVDBSergey Sharybin
Double floating point precision is an extension of OpenCL, which might not be implemented by certain drivers, such as Intel Xe graphics. Cycles does not use double floating point precision, and there is no need on keeping doubles unless there is an explicit decision to use them. This is a simple fix from Cycles side to replace double floating point type with a type of same size and alignment rules. Inspired by Brecht and Patrick. Tested on NVidia Titan V, Radeon RX Vega M, and TGL laptop. Differential Revision: https://developer.blender.org/D10143
2021-01-21Merge branch 'blender-v2.92-release'Falk David
2021-01-21Fix T83344: Cycles baking + progressive refine failsBrecht Van Lommel
2021-01-21Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-21Fix T84908: Cycles GPU + CPU and denoising failure after recent fixBrecht Van Lommel
2021-01-20Merge branch 'blender-v2.92-release'Brecht Van Lommel
2021-01-20Fix T82966, T78152: Cycles GPU render hair ribbon artifacts and differencesBrecht Van Lommel
Now it should match CPU rendering much more closely.
2021-01-20Merge branch 'blender-v2.92-release'Sebastian Parborg
2021-01-20Fix T84872: OptiX GPU + CPU rendering uses branched path samplesBrecht Van Lommel
Branched path tracing is not supported for OptiX, and it would still use the number of AA samples from there when branched path was enabled by the user earlier but auto disabled and hidden in the UI when using OptiX. Ref D10159
2021-01-20Fix T84813: enabling Cycles OpenImageDenoise during GPU viewport render failsBrecht Van Lommel
2021-01-20Merge branch 'blender-v2.92-release'Patrick Mours
2021-01-20Fix T84049: Crash when using Cycles Progressive Refine with OptiX+CPUPatrick Mours
Tile stealing may steal a CPU tile buffer and move it to the GPU, but next time around that tile may be re-used on the CPU again (in progressive refinement mode). The buffer would still be on the GPU then though, so is inaccessible to the CPU. As a result Blender crashed when the CPU tried to write results to that tile buffer. This fixes that by ensuring a stolen tile buffer is moved back to the device it is used on before rendering.
2021-01-20Cleanup: remove extra in trailing asteriskCampbell Barton
Comment blocks not conforming to convention.
2021-01-20Merge branch 'blender-v2.92-release'Campbell Barton
2021-01-20CMake: add missing headersCampbell Barton
Resolves 'cmake_consistency_check' reports.
2021-01-18Merge branch 'blender-v2.92-release'Sergey Sharybin
2021-01-18Cycles: Fix missing OpenCL extensions in certain casesSergey Sharybin
If extensions string is longer than 1024 then the old code would have reported empty string instead of extensions. Now the code does dynamic string allocation to store result of request, similar to what is done in `OpenCLInfo::get_hardware_id`. The code looks a bit ugly, but it didn't really change much with this patch. In other words, the code can become more modern and clear, but it is considered to be outside of the scope of this change. Differential Revision: https://developer.blender.org/D10135
2021-01-18Merge branch 'blender-v2.92-release'Patrick Mours
2021-01-18Fix T84650: CPU render + OptiX denoiser leaves empty tiles unprocessedPatrick Mours
The OptiX denoiser is part of the OptiX device, so to the tile manager looks like a GPU device. As a result the tile stealing implementation erroneously stole CPU tiles and moved them to that OptiX device, even though in this configuration the OptiX device was only set up for denoising and not rendering. Launching the render kernel therefore caused a crash because of a missing AS etc. This fixes that by ensuring tiles can only be stolen by devices that support render tiles.