Revision 25c2875 by Campbell Barton July 13, 2021, 10:17 (GMT) |
Edit Mesh: use partial updates editing vertices with number buttons Use the same partial-update functions used by transform when editing vertex locations with the number buttons. This avoids unnecessary calculations for normals and tessellation. This gives around 1.44x overall speedup on high poly meshes. |
Revision 8839b4c by Campbell Barton July 13, 2021, 10:03 (GMT) |
UI: support persistent state during number/slider interaction Support for begin/update/end callbacks allowing state to be cached and reused while dragging a number button or slider. This is done using `UI_block_interaction_set` to set callbacks. - Dragging multiple buttons at once is supported, passing multiple unique events into the update function. - Update is only called once even when multiple buttons are edited. - The update callback can detect the difference between click & drag actions so situations to support skipping cache creation and freeing for situations where it's not beneficial. Reviewed by: Severin, HooglyBoogly Ref D11861 |
Revision 1b4d5c7 by Campbell Barton July 13, 2021, 09:43 (GMT) |
Undo System: avoid redundant decoding on undo In most cases the undo system was loading undo steps twice. This was needed since some undo systems (sculpt, paint, text) require stepping out of the current undo step. Use a flag to limit this to the undo systems that need it. This improves performance for other undo systems. This gives around 1.96x speedup in edit-mesh for high-poly objects. Reviewed by: mont29 Ref D11893 |
Revision f9c9e00 by Campbell Barton July 13, 2021, 07:10 (GMT) |
Undo: optimize edit-mode undo - Tag the object data instead of the object when decoding (this avoids duplicating mesh object-data on each undo-step). - Calculate face normals as part of multi-threaded tessellation. This gives ~11% speedup with 1.5x million polygons. |
Revision 7a4fc9f by Campbell Barton July 13, 2021, 06:54 (GMT) |
Cleanup: quiet stringop-overflow compiler warning |
Revision 22c4323 by Campbell Barton July 13, 2021, 05:27 (GMT) |
Cleanup: remove commented code Replace with brief note in warning. |
Revision 7a084c2 by Campbell Barton July 13, 2021, 05:13 (GMT) |
Cleanup: minor changes to edit-mesh API calls Rename: - EDBM_mesh_free -> EDBM_mesh_free_data BKE_editmesh_free -> BKE_editmesh_free_data Since this doesn't free the edit-mesh pointer. - BKE_editmesh_free_derivedmesh -> BKE_editmesh_free_derived_caches Since this no longer uses derived-mesh, match naming for the related object function BKE_object_free_derived_caches. Also remove `do_tessellate` argument from BKE_editmesh_create, since the caller can explicitly do this if it's needed, with the advantage that it can be combined with normal calculation which is faster on high-poly meshes. |
Revision b90b1af by Campbell Barton July 13, 2021, 04:50 (GMT) |
Event Simulate: and a --time-actions command line argument When enabled, print the time taken between running actions. |
Revision 5098678 by Jesse Yurkovich July 13, 2021, 04:01 (GMT) |
Cleanup: Use correct _WIN32/64 defines for MSVC Docs: https://docs.microsoft.com/en-us/cpp/preprocessor/predefined-macros Differential Revision: https://developer.blender.org/D11460 |
Revision dc679f6 by Jesse Yurkovich July 13, 2021, 03:32 (GMT) |
Cleanup: Use C99 format string for the SIZET_FORMAT macro All platforms support the proper format string and it's already used in various other places. Differential Revision: https://developer.blender.org/D11460 |
Revision 2e7e7a6 by Campbell Barton July 13, 2021, 03:03 (GMT) |
Fix object "Set Origin" operating on linked library data Regression in d25747ee751096de2e417a7da1316bf5bf81c25a |
Revision d6b1d35 by Hans Goudey July 12, 2021, 21:24 (GMT) |
Cleanup: Use C++ float3 type, use prefix for return argument |
Revision bfa3dc9 by Germano Cavalcante July 12, 2021, 21:05 (GMT) |
Depsgraph: Implement 'ID_RECALC_GEOMETRY_DEFORM' During a mesh transformation in edit mode (Move, Rotate...), only part of the batch cache needs to be updated. This commit allows only update only the drawn batches seen in `BKE_object_data_eval_batch_cache_deform_tag` if the new `ID_RECALC_GEOMETRY_DEFORM` flag is used. This new flag is used in the transforms operation for edit-mesh and results in 1.6x overall speedup in heavy subdiv cube. Differential Revision: https://developer.blender.org/D11599 |
Revision 7b6c77a by Philipp Oeser July 12, 2021, 20:14 (GMT) |
Fix T88015: Round end caps on Freestyle lines not shaped as documented This might be an artistic choice, but round end caps are supposed to be a "half circle centered at the end point of the line" as documented here: https://docs.blender.org/manual/en/dev/render/freestyle/ parameter_editor/line_style/strokes.html#caps They are a shashed half circle instead. This patch makes this pure half circles [and also fixes the case where thickness of beginning was used for both beginning and end of the stroke] Maniphest Tasks: T88015 Differential Revision: https://developer.blender.org/D11340 |
Revision 7b954ba by Christian Rauch July 12, 2021, 19:20 (GMT) |
GHOST/wayland: remove unused 'input-event-codes.h' header This was accidentally committed by rBecbf838feefc. |
Revision 5e1702e by Brecht Van Lommel July 12, 2021, 17:19 (GMT) |
Fix T87844: Cycles losing 1 bit of precision when loading packed byte images This could lead to colors that are supposed to be exactly white to be slightly darker. |
July 12, 2021, 17:11 (GMT) |
Geometry Nodes: Curve Primitive Quadrilateral This commit adds a curve primitive node for creating squares, rectangles, trapezoids, kites, and parallelograms. It also includes a mode where the four points are just vector inputs. Differential Revision: https://developer.blender.org/D11665 |
Revision a072e87 by Brecht Van Lommel July 12, 2021, 15:41 (GMT) |
Fix T89040: dependency graph not handling time remapping correctly In this bug report it resulted in rendering animations stopping too early, but this affected more areas. After the previous cleanup commit, it becomes clear that frame and ctime values were mixed up. |
Revision 2ea565b by Brecht Van Lommel July 12, 2021, 15:41 (GMT) |
Cleanup: improve naming and comments of scene frame/ctime functions Confusingly, BKE_scene_frame_get did not match the frame number as expected by BKE_scene_frame_set. Instead it return the value after time remapping, which is commonly named "ctime". * Rename BKE_scene_frame_get to BKE_scene_ctime_get * Add a new BKE_scene_frame_get that matches BKE_scene_frame_set * Use int/float depending if fractional frame is expected |
Revision f709f12 by Brecht Van Lommel July 12, 2021, 13:56 (GMT) |
Fix T89736: Cycles error with persistent data, displacement and motion blur |
|