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
2021-03-15Fix Cycles rendering crash on OpenBSDBrecht Van Lommel
Static initialization order was not guaranteed to be correct for node base types. Now wrap all initialization in accessor functions to ensure the order is correct. Did not cause any known bug on Linux/macOS/Windows, but showed up on this platform.
2020-12-02Fix T83300: constant scene refreshing in Cycles with empty volumesKévin Dietrich
This infinite loop is caused by a conflict between the volume mesh creation which unintentionally clears the shaders before early exiting when no grid is found, and the Blender exporter which adds back the shaders causing us to reupdate as the shaders changed. To fix this simply preserve the shaders on the Volume node.
2020-11-17Merge branch 'blender-v2.91-release'Richard Antalik
Conflicts: source/blender/editors/render/render_opengl.c source/blender/sequencer/intern/effects.c
2020-11-17Cycles: Fix compilation error and warning without OPENVDBClément Foucault
2020-11-16Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-16Fix T81983: volume tiles missing in Cycles rendersKévin Dietrich
The OpenVDB data structure can store voxel data in leaf nodes or tiles when all the nodes in a given region have a constant value. However, Cycles is using the leaf nodes to generate the acceleration structure for computing volume intersections which did not include constant tiles. To fix this, we simply voxelize all the active tiles prior to generating the volume bounding mesh. As we are using a MaskGrid, this will not allocate actual voxel buffers for each leaf, so the memory usage will be kept low. Differential Revision: https://developer.blender.org/D9557 Reviewed by: brecht, JacquesLucke
2020-11-12Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-12Fix T82516: Cycles crash updateding animated volumes after NanoVDBBrecht Van Lommel
Two issues: * Automatic deduplication of OpenVDB grid data was failing when Cycles had already cleared the OpenVDB grid, causing an empty grid. Instead rely on Blender return the same OpenVDB grid pointer when deduplication is possible. * The volume bounds mesh was not properly cleared when the OpenVDB grid was empty, causing a mismatch between mesh and voxel data.
2020-11-05Fix T82428: Cycles crashes when building volume meshesKévin Dietrich
The Volume Node did not have all of the sockets from its Mesh base class which are now required due to the recent socket API change.
2020-11-04Merge branch 'blender-v2.91-release'Brecht Van Lommel
2020-11-04Fix T82016: Cycles assert with empty OpenVDB volumesBrecht Van Lommel
2020-11-04Cycles API: encapsulate Node socket membersKévin Dietrich
This encapsulates Node socket members behind a set of specific methods; as such it is no longer possible to directly access Node class members from exporters and parts of Cycles. The methods are defined via the NODE_SOCKET_API macros in `graph/ node.h`, and are for getting or setting a specific socket's value, as well as querying or modifying the state of its update flag. The setters will check whether the value has changed and tag the socket as modified appropriately. This will let us know how a Node has changed and what to update, which is the first concrete step toward a more granular scene update system. Since the setters will tag the Node sockets as modified when passed different data, this patch also removes the various modified methods on Nodes in favor of Node::is_modified which checks the sockets' update flags status. Reviewed By: brecht Maniphest Tasks: T79174 Differential Revision: https://developer.blender.org/D8544
2020-11-03Cycles: immediately store the used_shader list in Blender interface.Alexander Gavrilov
Uniform attributes require immediate access to the shader list in object update code, so setting the field can't be deferred to a background task. This required adding a parameter to the clear method of Geometry. Ref D2057
2020-10-30Fix T82027, T81718: Cycles crash with volume animation playbackBrecht Van Lommel
2020-08-19Cycles : add a Volume Geometry NodeKévin Dietrich
This splits the volume related data (properties for rendering and attributes) of the Mesh node into a new `Volume` node type. This `Volume` node derives from the `Mesh` class since we generate a mesh for the bounds of the volume, as such we can safely work on `Volumes` as if they were `Meshes`, e.g. for BVH creation. However such code should still check for the geometry type of the object to be `MESH` or `VOLUME` which may be bug prone if this is forgotten. This is part of T79131. Reviewed By: brecht Maniphest Tasks: T79131 Differential Revision: https://developer.blender.org/D8538