blender/intern
William Leeson 6c03339e48 Cycles: reduce mesh memory usage by unflattening
To improve mesh upload speeds and reduce the size of the scene data which allows larger scenes to be rendered.

The meshes in Cycles are currently stored as flattened meshes, where each triangle is stored as a set of 3 vertices. Unflattening writes out the vertices in a list according to the index buffer. This uses a lot of memory and for current hardware does not provide a noticeable benefit. This change unflattens the mesh by directly using the meshes vertex and index buffers directly and skips the unflattening. This change allows for larger scenes and also a reduction in the sizes of the meshes. Further it results in a decrease the amount of time it takes to upload the data to a GPU. This is especially important for when multiple GPUs are used in a single machine.

Pull Request #105173
2023-02-27 10:39:19 +01:00
..
atomic Cleanup: remove workarounds and version checks for unsupported compilers 2022-09-27 07:05:13 +10:00
audaspace CMake: fix AUDASPACE disabling WITH_PYTHON for Blender 2022-05-20 11:18:49 +10:00
clog File headers: SPDX License migration 2022-02-11 09:14:36 +11:00
cycles Cycles: reduce mesh memory usage by unflattening 2023-02-27 10:39:19 +01:00
dualcon Cleanup: Compilation warnings 2022-03-18 12:07:08 +01:00
eigen File headers: manually convert files to use SPDX headers 2022-02-11 15:15:49 +11:00
ffmpeg Build: library updates for Blender 3.5 2022-12-07 15:28:17 +01:00
ghost Cleanup: format 2023-02-26 11:55:22 +13:00
guardedalloc Revert "MSVC: lower C4100 warning level from 4 to 3" 2023-02-14 15:36:35 -03:00
iksolver Cleanup: spelling in comments, capitalize tags 2022-05-13 09:29:25 +10:00
itasc Cleanup: remove argument to doxygen \file 2022-03-25 12:10:30 +11:00
libc_compat Fix compilation on Linux, glibc 2.34, and CentOS libraries 2022-09-13 10:38:42 +02:00
libmv Docs: change Git URLs to point projects.blender.org instead of git.blender.org 2023-02-07 14:23:05 +01:00
locale Cleanup: use '#' prefix for issues instead of 'T' 2023-02-12 14:56:05 +11:00
mantaflow Fix T102257: Crash when making an Object as Effector set to Guide and trying to scrub the timeline 2022-11-09 12:13:51 -03:00
memutil File headers: SPDX License migration 2022-02-11 09:14:36 +11:00
mikktspace Cleanup: spelling in comments 2023-02-07 14:17:01 +11:00
opencolorio Cleanup: GPUTexture: Remove _ex suffix from texture creation 2023-02-25 11:39:54 +01:00
opensubdiv Cleanup: spelling in comments 2023-02-07 14:17:01 +11:00
openvdb File headers: SPDX License migration 2022-02-11 09:14:36 +11:00
quadriflow File headers: SPDX License migration 2022-02-11 09:14:36 +11:00
rigidbody CMake: use BULLET_LIBRARIES for both extern_bullet and system libraries 2023-01-19 17:10:42 +11:00
sky Cleanup: replace C-style casts with functional casts for numeric types 2022-09-26 17:58:36 +10:00
utfconv Cleanup: use C++ comments for disabled code 2022-04-13 13:47:04 +10:00
wayland_dynload GHOST/Wayland: improve workaround for libdecor setting the window state 2022-11-16 12:31:29 +11:00
CMakeLists.txt GPU: replace GLEW with libepoxy 2022-08-15 16:10:29 +02:00