blender/intern/cycles
Hans Goudey d0705bd697 Mesh: Split MLoopTri poly indices into a separate array
For derived mesh triangulation information, currently the three face
corner indices are stored in the same struct as index of the mesh
polygon the triangle is part of. While those pieces of information are
often used together, they often aren't, and combining them prevents
the indices from being used with generic utilities. It also means that
1/3 more memory has to be written when recalculating the triangulation
after deforming the mesh, and that the entire triangle data has to be
read when only the polygon indices are needed.

This commit splits the polygon index into a separate cache on `Mesh`.
The triangulation data isn't saved to files, so this doesn't affect
.blend files at all.

In a simple test deforming a mesh with geometry nodes, the time used
to recalculate the triangulation reduced from 2.0 ms to 1.6 ms,
increasing overall FPS from 14.6 to 15.

Pull Request: https://projects.blender.org/blender/blender/pulls/106774
2023-05-04 15:39:10 +02:00
..
app Cleanup: format (with BraceWrapping::AfterControlStatement "MultiLine") 2023-05-02 09:37:49 +10:00
blender Mesh: Split MLoopTri poly indices into a separate array 2023-05-04 15:39:10 +02:00
bvh Cleanup: format (with BraceWrapping::AfterControlStatement "MultiLine") 2023-05-02 09:37:49 +10:00
cmake Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00
device Fix #107356: Cycles: improve oneAPI error handling 2023-05-03 12:06:08 +02:00
doc Cleanup: cmake formatting 2022-12-17 13:33:27 +11:00
graph Clang-Format: Allow empty functions to be single-line 2023-03-29 16:50:54 +02:00
hydra Cleanup: format (with BraceWrapping::AfterControlStatement "MultiLine") 2023-05-02 09:37:49 +10:00
integrator Cleanup: format (with BraceWrapping::AfterControlStatement "MultiLine") 2023-05-02 09:37:49 +10:00
kernel Fix #107577: Cycles crash with denoising and Ashikhmin-Shirley BSDF 2023-05-04 03:14:20 +02:00
scene Fix #106776: Volume cube won't render in Cycles 2023-05-02 20:13:58 +02:00
session Cleanup: format (with BraceWrapping::AfterControlStatement "MultiLine") 2023-05-02 09:37:49 +10:00
subd Cleanup: format (with BraceWrapping::AfterControlStatement "MultiLine") 2023-05-02 09:37:49 +10:00
test Fix build error using WITH_CYCLES_LOGGING=OFF 2023-04-17 20:36:18 +02:00
util Cleanup: format (with BraceWrapping::AfterControlStatement "MultiLine") 2023-05-02 09:37:49 +10:00
CMakeLists.txt Cycles: add HIP RT device, for AMD hardware ray tracing on Windows 2023-04-25 20:19:43 +02:00