May 3, 2021, 20:10 (GMT) |
Fix T87982: crash switching render slots while render is in progress |
May 3, 2021, 20:10 (GMT) |
Fix T88001: persistent data render wrong when changing camera border |
May 3, 2021, 20:10 (GMT) |
Fix T85287: Cycles deadlock loading Blender images in some cases |
May 3, 2021, 20:07 (GMT) |
Cycles standalone: Fixed macOS dependencies. Added IOKit and Accerelate as linked frameworks where necessary. |
May 3, 2021, 18:22 (GMT) |
Cycles: Texture cache capability is now a device property. |
May 3, 2021, 17:29 (GMT) |
Geometry Nodes: Initial basic curve data support This patch adds initial curve support to geometry nodes. Currently there is only one node available, the "Curve to Mesh" node, T87428. However, the aim of the changes here is larger than just supporting curve data in nodes-- it also uses the opportunity to add better spline data structures, intended to replace the existing curve evaluation code. The curve code in Blender is quite old, and it's generally regarded as some of the messiest, hardest-to-understand code as well. The classes in `BKE_spline.hh` aim to be faster, more extensible, and much more easily understandable. Further explanation can be found in comments in that file. Initial builtin spline attributes are supported-- reading and writing from the `cyclic` and `resolution` attributes works with any of the attribute nodes. Also, only Z-up normal calculation is implemented at the moment, and tilts do not apply yet. **Limitations** - For now, you must bring curves into the node tree with an "Object Info" node. Changes to the curve modifier stack will come later. - Converting to a mesh is necessary to visualize the curve data. Further progress can be tracked in: T87245 Higher level design document: https://wiki.blender.org/wiki/Modules/Physics_Nodes/Projects/EverythingNodes/CurveNodes Differential Revision: https://developer.blender.org/D11091 |
May 3, 2021, 15:10 (GMT) |
Merge branch 'blender-v2.93-release' |
May 3, 2021, 15:10 (GMT) |
Fix T88005: GPencil inverse fill leaves unwanted line at viewport edge. There was a function to set 2 pixels wide for inverse filling, but this must not be done in the borders of the image. Now, the borders are checked before set 2 pixels. |
May 3, 2021, 14:57 (GMT) |
Merge branch 'blender-v2.93-release' |
May 3, 2021, 14:49 (GMT) |
Fix T87926: Transform menu has operators guaranteed to not pass poll in certain modes Reported for ops.transform.vertex_warp and ops.transform.vertex_random. Polling will check with ED_transverts_check_obedit, if we know it will fail e.g. for pose mode, we can do the same check in the UI already. Maniphest Tasks: T87926 Differential Revision: https://developer.blender.org/D11128 |
May 3, 2021, 14:44 (GMT) |
Cleanup: spelling |
May 3, 2021, 14:39 (GMT) |
WM: disable idle event handling timer when simulating events |
Revision f466614 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 3, 2021, 14:37 (GMT) |
DRWShaderLib: Add better debug output from missing lib |
Revision 4500a90 by Clément Foucault (eevee-rewrite, temp-eevee-gpencil-rewrite, viewport-compositor) May 3, 2021, 14:35 (GMT) |
EEVEE: Implementation of volume rendering This adds the transparency and volume handling in the deferred render pipeline. Implementation is still unfinished. To have better naming convention, I renamed object shader to surface. |
May 3, 2021, 14:30 (GMT) |
Fix wrong tracking curves after changing clip offset The issue was caused by frame start/offset change triggering clip reload, which was happening with a hardcoded scene frame index of 1, which could be outside of the actual clip frames. Solved by removing source change tag from the frame start/offset update. The source doesn't really change: the resolution will stay the same, as well as media type, its duration. So the tag was not needed. |
May 3, 2021, 14:30 (GMT) |
Movieclip: Use first clip frame for size detection Using scene frame 1 is not reliable in cases when there is a frame offset is involved. Using frame 1 seems more reliable, although might still fail under certain circumstances. More reliable fix would require a deeper change in the data structure and the logic about frame loading and size detection. |
May 3, 2021, 14:20 (GMT) |
Alembic Procedural: precompute vertex normals 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. |
May 3, 2021, 14:19 (GMT) |
Alembic Procedural: refactor data reading 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 |
May 3, 2021, 14:17 (GMT) |
Cleanup: use boolean for has_event variable & return value |
May 3, 2021, 14:01 (GMT) |
USD Import: format fixes. |
|
|
|


Master Commits
MiikaH:n Sivut a.k.a. MiikaHweb | 2003-2021