f07542d8cb90da28c176ba089f9aeaa99fed2cde
Hair and Curves need to call `DRW_curves_update` before `geometry_steps_fill`, otherwise the copied geometry is just uninitialized data. However, doing so triggers an assertion: > DRW_render_instance_buffer_finish had not been called before drawing. This PR ports the `DRW_hair/curves_pos_buffer_get` functions to the new `draw::Manager` API, so it can be called at any arbitrary point. It also changes `VelocityModule::geometry_map` to use `uint64` keys instead of `ID` pointers, since the same particle system can be used on different objects and have multiple geometries. Notes: * The new functions are only used for `VelocityModule::step_object_sync` on image renders. Using them elsewhere would require modifying the old draw manager to do the init/update/free setup. * Only the compute shader version has been ported. Pull Request: https://projects.blender.org/blender/blender/pulls/112425
…
Blender
Blender is the free and open source 3D creation suite. It supports the entirety of the 3D pipeline-modeling, rigging, animation, simulation, rendering, compositing, motion tracking and video editing.
Project Pages
Development
License
Blender as a whole is licensed under the GNU General Public License, Version 3. Individual files may have a different, but compatible license.
See blender.org/about/license for details.
Description
Languages
C++
78%
Python
14.9%
C
2.9%
GLSL
1.9%
CMake
1.2%
Other
0.9%
