inexorgame / vulkan-renderer

A new 3D game engine for Linux and Windows using C++20 and Vulkan API 1.3, in very early but ongoing development
https://inexor.org
MIT License
816 stars 34 forks source link

Separate glTF2 model loading from uploading it's vertex data to GPU #268

Open IAmNotHanni opened 3 years ago

IAmNotHanni commented 3 years ago

Just as with textures, we can separate the loading of a glTF2 model using tinygltf from the actual upload of data to the GPU. This way, we can run models in separate threads while the engine's Vulkan backend is being initialized. This all falls into the regime of parallelization of the engine using taskflow and creating an asynchronous resource loading mechanism.

We need more planing + discussion about loading resources (textures, sounds..) asynchronously.

IAmNotHanni commented 2 years ago

This ticket turned out to become a more general idea in the engine: We should split up loading, preparing and rendering of resources. The same principle can be applied to octree rendering for example.