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-05-06Cleanup: spellingCampbell Barton
2021-05-06Cleanup: link directly to stackexchange URLCampbell Barton
2021-05-05Merge branch 'blender-v2.93-release'Sergey Sharybin
2021-05-05Fix kernel loading time accounted twice in render progressSergey Sharybin
The render session is keeping track of the scene update, which includes kernel loading time. This fixes negative render times reported when CUDA kernels are compiled at runtime. A bit fragile logic, can be re-implemented using some user-counted scope utility classes, so that only outer-most time skip is applied.
2021-05-04Fix compile error without AlembicKévin Dietrich
Thanks to @Severin for noticing and providing a little patch.
2021-05-04Merge branch 'blender-v2.93-release'Germano Cavalcante
2021-05-03Fix errors in Cycles commentsBrecht Van Lommel
2021-05-03Fix T85287: Cycles deadlock loading Blender images in some casesBrecht Van Lommel
2021-05-03Fix T88001: persistent data render wrong when changing camera borderBrecht Van Lommel
2021-05-03Cycles standalone: Fixed macOS dependencies.Stefan Werner
Added IOKit and Accerelate as linked frameworks where necessary.
2021-05-03Cleanup: spellingCampbell Barton
2021-05-03Alembic Procedural: precompute vertex normalsKévin Dietrich
This precomputes vertex normals in the procedural and caches them in case none are found in the archive. This only applies to polygon meshes, as subdivision meshes are yet to be subdivided, so it is useless to do this computation. The goal here is to speed up data updates between frames, as computing normals shows up in profiles even for large objects. This saves around 16% of update time for a production file.
2021-05-03Alembic Procedural: refactor data readingKévin Dietrich
This splits the data reading logic from the AlembicObject class and moves it to separate files to better enforce a separation of concern. The goal was to simplify and improve the logic to read data from an Alembic archive. Since the procedural loads data for the entire animation, this requires looping over the frame range and looking up data for each frame. Previously those loops would be duplicated over the entire code causing divergences in how we might skip or deduplicate data across frames (if only some data change over time and not other on the same object, e.g. vertices and triangles might not have the same animation times), and therefore, bugs. Now, we only use a single function with callback to loop over the geometry data for each requested frame, and another one to loop over attributes. Given how attributes are accessed it is a bit tricky to simplify further and only use a ingle function, however, this is left as a further improvement as it is not impossible. To read the data, we now use a set of structures to hold which data to read. Those structures might seem redundant with the Alembic schemas as they are somewhat a copy of the schemas' structures, however they will allow us in the long run to treat the data of one object type as the data of another object type (e.g. to ignore subdivision, or only loading the vertices as point clouds). For attributes, this new system allows us to read arbitrary attributes, although with some limitations still: * only subdivision and polygon meshes are supported due to lack of examples for curve data; * some data types might be missing: we support float, float2, float3, booleans, normals, uvs, rgb, and rbga at the moment, other types can be trivially added * some attribute scopes (or domains) are not handled, again, due to lack of example files * color types are always interpreted as vertex colors
2021-05-03Cleanup: use boolean for has_event variable & return valueCampbell Barton
2021-05-03Cleanup: formatKévin Dietrich
2021-05-03Cycles: use reference count to detect used shadersKévin Dietrich
Shaders are only compiled if they are used by some other Node (Geometry, Light, etc.). This usage detection is done before updating the Scene, however it fails at detecting Shaders used by Procedurals not known to Cycles (e.g. ones defined by third party applications), as Procedurals are only updated after the shaders are compiled. To remedy this, we now use the Node reference counting mechanism to detect whether a Shader is used and therefore should be compiled. This removes `ShaderManager::update_shaders_used` as it is not needed anymore, however, since it would also update the Shader ids, this is now performed in `ShaderManager::device_update`, and a new virtual `device_update_specific` method was added to handle device updates for SVM and OSL. Reviewed By: brecht Differential Revision: https://developer.blender.org/D10965
2021-05-03Cycles: add reference counting to NodesKévin Dietrich
This adds a reference count to Nodes which is incremented or decremented whenever they are added to or removed from a socket, which will help us track used Nodes throughout the scene graph generically without having to add an explicit count or flag on specific Node types. This is especially useful to track Nodes defined through Procedurals out of Cycles' control. This also modifies the order in which nodes are deleted to ensure that upon deletion, a Node does not attempt to decrement the reference count of another Node which was already freed or deleted. This is not currently used, but will be in the next commit. Reviewed By: brecht Differential Revision: https://developer.blender.org/D10965
2021-04-30Merge branch 'blender-v2.93-release'Sebastian Parborg
2021-04-30Fix "use after free" issue in clogSebastian Parborg
Keep track of clog_refs so we can null the pointers when calling CLG_exit. Otherwise we will run into issues where the code will try to access freed data.
2021-04-30Merge branch 'blender-v2.93-release'Campbell Barton
2021-04-30Merge branch 'blender-v2.93-release'Campbell Barton
2021-04-29Fix T87317: Cycles XML parsing broken after bugfix for initialization orderBrecht Van Lommel
2021-04-29Fix error in Python UI scriptBrecht Van Lommel
2021-04-29Merge branch 'blender-v2.93-release'Campbell Barton
2021-04-29Fix build error after recent changes to CPU name detectionBrecht Van Lommel
2021-04-29Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-04-29Fix missing Cycles CPU name on macOS ArmChristian Baars
Differential Revision: https://developer.blender.org/D11061
2021-04-29Fix missing Cycles CPU name for Arm processorsPatrick Mours
2021-04-29Fix T87686: Cycles persistent data not updating correctly with hairBrecht Van Lommel
2021-04-29Cleanup: removed unnecessary multiplications in area light importance samplingMatteo Falduto
Differential Revision: https://developer.blender.org/D11114
2021-04-29Fix ASAN warnings with Cycles OSLBrecht Van Lommel
2021-04-29Fix: missing AO factor from Cyclest Fast GI panelBrecht Van Lommel
The AO distance was already there, but I forgot the factor also has an impact on this.
2021-04-27Cycles: Removed unused macros.Stefan Werner
These were leftovers from an earlier way of indexing textures.
2021-04-26Cycles: Fix build with OptiX 7.3 SDKPatrick Mours
2021-04-23Cleanup: clang-formatCampbell Barton
2021-04-21Merge branch 'blender-v2.93-release'Brecht Van Lommel
2021-04-21Fix some Cycles random walk SSS precision issues with small radiusBrecht Van Lommel
2021-04-20Add support for building on Linux aarch64Patrick Mours
Differential Revision: https://developer.blender.org/D10958
2021-04-19Cycles: include more transparency and emission in fast GI approximationBrecht Van Lommel
For indirect light rays, don't assume any hit is opaque, rather if it has transparency or emission do the shading but don't do any further bounces. Naturally this is slower when there are transparent surfaces, however without this cutout opacity doesn't give sensible results. Differential Revision: https://developer.blender.org/D10985
2021-04-19Cleanup: move BVH utility functions into own fileBrecht Van Lommel
2021-04-16Remove unneeded code from previous commit.Jeroen Bakker
2021-04-16Fix OCIO Shader Compilation Error.Jeroen Bakker
Compilation fails when our OCIO wrapper creates a shader that transfer first to scene ref and directly after that to display. This cause is that the GPU resources of both transfers had the same name. This is fixed by prefixing the resources. This can be reproduced by loading a movie file (mkv) in the VSE editor. Reported by Sergey Sharybin.
2021-04-13Cycles: Initialize all OptiX structs to zero before usePatrick Mours
This is done to ensure building with newer OptiX SDK releases that add new struct fields gives deterministic results (no uninitialized fields and therefore random data is passed to OptiX).
2021-04-12Fix Cycles broken motion blur pass after recent bugfixBrecht Van Lommel
2021-04-12Fix T86880: Cycles bevel shader not working after editing worldBrecht Van Lommel
2021-04-12Fix T87283: crash with persistent data and motion blurBrecht Van Lommel
2021-04-12Fix T87324: incorrect parametric coordinates with light spreadBrecht Van Lommel
2021-04-12Win32: Fix fullscreen errors using Taskbar system menuHarley Acheson
Changing window state using taskbar system menu could result in a titleless window. Differential Revision: https://developer.blender.org/D10812 Reviewed by Ray Molenkamp
2021-04-11Cleanup: clang-formatCampbell Barton
2021-04-11Cleanup: spellingCampbell Barton