June 21, 2021, 14:31 (GMT) |
Fix T89240: Crash when moving vertices on a linked duplicate There is an attempt to free an illegal pointer in `extract_edge_fac_finish`. |
June 21, 2021, 14:31 (GMT) |
Fix T88394: crash when editing animated Alembic properties When an object, whose mesh gets loaded from Alembic, gets animated in Blender and the Alembic CacheFile datablock also gets animated, editing keyframes causes both datablock to be re-copied for evaluation. This caused a threading issue and a double-free of some memory. This is fixed by expanding the scope of the spin lock in `BKE_cachefile_reader_free()`. |
June 21, 2021, 14:31 (GMT) |
June 21, 2021, 14:31 (GMT) |
Performance: Limit recounting during selection mode flushing. This patch ensures that selection mode flushing updates total selection counts internally. This reduces recounting when we are sure that the input total selection counts were up to date. For example for circle selection the total selection counts were correct. But during flushing the selection could have been changed and therefore the selection was always recounted. This increased the performance on selected system from 6.90 FPS to 8.25 FPS during circle selection operations. Before: {F10179981} After: {F10179982} Reviewed By: mano-wii Differential Revision: https://developer.blender.org/D11647 |
June 21, 2021, 14:31 (GMT) |
Fix T89262: Crash in regular FileBrowser ID listing of 'asset' .blend files. `ED_fileselect_get_asset_params` would only return actual data pointer when file browser is in ASSET mode. Calling that whole section only makes sense if filebrowser is in asset mode anyway. Regression introduced in rBf6c5af3d4753 I think. @Severin committing this fix now as this is a fairly critical bug for the studio, feel free to revert and do proper fix if this one is not the best solution. |
June 21, 2021, 14:31 (GMT) |
Raycast geometry node. The //Raycast// node intersects rays from one geometry onto another. It computes hit points on the target mesh and returns normals, distances and any surface attribute specified by the user. A ray starts on each point of the input //Geometry//. Rays continue in the //Ray Direction// until they either hit the //Target Geometry// or reach the //Ray Length// limit. If the target is hit, the value of the //Is Hit// attribute in the output mesh will be true. //Hit Position//, //Hit Normal//, //Hit Distance// and //Hit Index// are the properties of the target mesh at the intersection point. In addition, a //Target Attribute// can be specified that is interpolated at the hit point and the result stored in //Hit Attribute//. Docs: D11620 Reviewed By: HooglyBoogly Differential Revision: https://developer.blender.org/D11619 |
June 21, 2021, 14:31 (GMT) |
Fix T89233: Incorrect attribute remove warning for curves The curve attribute delete function didn't return whether it was successful or not. |
June 21, 2021, 14:31 (GMT) |
June 21, 2021, 14:31 (GMT) |
Fix T89210: Box selection can fail in graphics editor Test the intersection of segment instead of point. |
June 21, 2021, 14:31 (GMT) |
Fix undefs from previous commit |
June 21, 2021, 14:31 (GMT) |
Cleanup: use standard identifier for uint64_t string formatting |
June 21, 2021, 14:31 (GMT) |
Cleanup: replace 'unsigned in' with 'uint' |
June 21, 2021, 14:31 (GMT) |
Cleanup: clang-tidy |
June 21, 2021, 14:31 (GMT) |
CMake: remove workaround for version that's no longer supported |
June 21, 2021, 14:31 (GMT) |
Cleanup: move mesh tessellation into it's own file This matches BMesh which also has tessellation in it's own file. Using a separate file helps with organization when extracting code into smaller functions. |
June 21, 2021, 14:31 (GMT) |
VSE: Refactor transform operator code Refactor function `freeSeqData` so it is readable. One strip can have multiple transform operations defined. To prevent processing strip multiple times, build `SeqCollection` and use sequencer iterator instead of iterating `TransData` directly. No functional changes. Differential Revision: https://developer.blender.org/D11618 |
June 21, 2021, 14:31 (GMT) |
Cleanup: unused argument, function & shadow variable warning |
June 21, 2021, 14:31 (GMT) |
Cleanup: spelling |
June 21, 2021, 14:31 (GMT) |
Cleanup: split BKE_mesh_copy_settings into two functions - BKE_mesh_copy_parameters_for_eval to be used for evaluated meshes only as it doesn't handle ID user-counts. - BKE_mesh_copy_parameters is a general function for copying parameters between meshes. |
June 21, 2021, 14:31 (GMT) |
Cleanup: improved comment for skipping updated with zero user meshes Noticed by @sybren D11377 review. |
|