Revision 336f6f4 by Antonio Vazquez December 27, 2021, 18:51 (GMT) |
GPencil: Fix error in previous Cleanup |
Revision d6dd2f5 by Aaron Carlisle December 27, 2021, 18:16 (GMT) |
Cleanup: Use vector function |
Revision 5814de6 by Aaron Carlisle December 27, 2021, 17:31 (GMT) |
Cleanup: Store cursor location in tGPspoint as an array Fixes many instances of `-Wstringop-overread` warning on GCC 11 Differential Revision: https://developer.blender.org/D13672 |
Revision 11ac276 by Jacques Lucke December 27, 2021, 17:18 (GMT) |
Cleanup: clang tidy Use c++ headers; use nullptr; redundant `void` in parameter list; inconsistent parameter name. |
Revision 1c9d8fc by Jacques Lucke December 27, 2021, 16:26 (GMT) |
Render: move editor/render module to c++ Doing this in preparation for some work on asset preview generation. Differential Revision: https://developer.blender.org/D13676 |
Revision 644e6c7 by Jacques Lucke December 27, 2021, 16:21 (GMT) |
Fix T93941: geometry proximity breaks with high resolution mesh The calls to `.fill` were overwriting indices that are processed by other threads. |
Revision eed45d2 by Kévin Dietrich December 27, 2021, 15:35 (GMT) |
OpenSubDiv: add support for an OpenGL evaluator This evaluator is used in order to evaluate subdivision at render time, allowing for faster renders of meshes with a subdivision surface modifier placed at the last position in the modifier list. When evaluating the subsurf modifier, we detect whether we can delegate evaluation to the draw code. If so, the subdivision is first evaluated on the GPU using our own custom evaluator (only the coarse data needs to be initially sent to the GPU), then, buffers for the final `MeshBufferCache` are filled on the GPU using a set of compute shaders. However, some buffers are still filled on the CPU side, if doing so on the GPU is impractical (e.g. the line adjacency buffer used for x-ray, whose logic is hardly GPU compatible). This is done at the mesh buffer extraction level so that the result can be readily used in the various OpenGL engines, without having to write custom geometry or tesselation shaders. We use our own subdivision evaluation shaders, instead of OpenSubDiv's vanilla one, in order to control the data layout, and interpolation. For example, we store vertex colors as compressed 16-bit integers, while OpenSubDiv's default evaluator only work for float types. In order to still access the modified geometry on the CPU side, for use in modifiers or transform operators, a dedicated wrapper type is added `MESH_WRAPPER_TYPE_SUBD`. Subdivision will be lazily evaluated via `BKE_object_get_evaluated_mesh` which will create such a wrapper if possible. If the final subdivision surface is not needed on the CPU side, `BKE_object_get_evaluated_mesh_no_subsurf` should be used. Enabling or disabling GPU subdivision can be done through the user preferences (under Viewport -> Subdivision). See patch description for benchmarks. Reviewed By: campbellbarton, jbakker, fclem, brecht, #eevee_viewport Differential Revision: https://developer.blender.org/D12406 |
Revision 31e120e by Jacques Lucke December 27, 2021, 15:15 (GMT) |
Nodes: Support linking to existing group input from link drag search. Before one could only create a new group input using the link drag search. With this patch it becomes possible to create a Group Input node for an existing input. Differential Revision: https://developer.blender.org/D13674 |
Revision 51a131d by Jacques Lucke December 27, 2021, 15:08 (GMT) |
BLI: add utility to check if type is any specific type This adds `blender::is_same_any_v` which is the almost the same as `std::is_same_v`. The difference is that it allows for checking multiple types at the same time. Differential Revision: https://developer.blender.org/D13673 |
Revision 594438e by Jacques Lucke December 27, 2021, 14:41 (GMT) |
Allocator: add missing include The placement-new operator requires `#include <new>`. It is used in `MEM_new`. |
December 27, 2021, 06:33 (GMT) |
LineArt: Protecting bounding area links. In case they overflowed the bounding area maximum link count, Protect the link array so it doesn't crash. |
December 27, 2021, 06:22 (GMT) |
LineArt: Remove duplicated edge-boundbox linking. The edge is linked twice from differen calls during line art calculation Probably caused by a merge and both calls stayed for some reason. This would lead to edge link overflowing its limit of 2^16 items. |
Revision 5cf993f by Aaron Carlisle December 26, 2021, 20:08 (GMT) |
Revision 20b438d by Aaron Carlisle December 26, 2021, 20:08 (GMT) |
Revision 28a8d43 by Kévin Dietrich December 26, 2021, 12:45 (GMT) |
Fix T94387: Mesh sequence cache, crash when clicking a panel The crash happens when opening a panel (added in rB43f5e761a66e87fed664a199cda867639f8daf3e) when no CacheFile is set in the modifier. To fix this, check that the CacheFile pointer is not null before attempting to draw anything. |
Revision dd3a72f by Hans Goudey December 25, 2021, 21:08 (GMT) |
Docs: Add to and cleanup attribute API docs Most of the comment block is similar to the text in the source code documentation wiki. It's helpful to have some text in a header file too, so it's closer for programmers already looking at the code. This also uses more consistent syntax and wording in the comments about the attribute API in `GeometryComponent`. Ref T93753 Differential Revision: https://developer.blender.org/D13661 |
Revision ceed8f7 by Hans Goudey December 25, 2021, 20:57 (GMT) |
Cleanup: Use more common variable name It's preferred to use `area` as a name for `ScrArea` variables. |
Revision 85abac7 by Hans Goudey December 25, 2021, 20:28 (GMT) |
Revision f7ddb1e by Christoph Lendenfeld December 25, 2021, 19:58 (GMT) |
Breakdown Implementation This patch adds the breakdown (or tween) functionality to the graph editor. The factor defines the linear interpolation from left key to right key. Reviewed by: Sybren A. St�vel Differential Revision: https://developer.blender.org/D9375 Ref: D9375 |
Revision fbd0162 by Aaron Carlisle December 25, 2021, 16:13 (GMT) |
Shader Nodes: Convert bump node to use new socket builder This node is a bit special in that it uses two internal sockets for a hack for Eevee; see rBffd5e1e6acd296a187e7af016f9d7f8a9f209f87 As a result, the `SOCK_UNAVAIL` flag is exposed to socket builder API. Reviewed By: JacquesLucke, fclem Differential Revision: https://developer.blender.org/D13496 |
|