Miguel Pozo f07542d8cb EEVEE-Next: Fix Hair and Curves motion vectors
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
2023-09-26 19:55:46 +02:00
2023-08-30 22:36:36 +02:00
2023-09-25 15:25:43 +10:00
2023-08-29 15:09:05 +10:00
2023-08-16 19:29:47 +02:00

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.

Blender screenshot

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
No description provided
Readme 841 MiB
Languages
C++ 78%
Python 14.9%
C 2.9%
GLSL 1.9%
CMake 1.2%
Other 0.9%