SlimeEngine is my personal playground for learning modern Vulkan and its 1.3 features. This project serves as both a learning tool and a growing graphics framework, focusing on clean, understandable implementation of advanced Vulkan concepts. It's a work in progress, evolving as I explore and understand more about low-level graphics programming.
Integrate GLTF (GL Transmission Format) loading capabilities into our engine to support complex, detailed scenes with advanced materials, animations, and hierarchical structures.
Features to Implement
Basic GLTF parsing and loading
Support for complex scene hierarchies
Material system integration (PBR materials, textures)
Skeletal animation support (stretch goal)
Morph target support (stretch goal)
Efficient memory management for large models
Implementation Details
Use a robust GLTF parsing library (e.g., tinygltf, cgltf) ~ Undecided yet
Implement a GLTF scene importer that translates GLTF data into the engine's internal representation maybe even cache for the next engine load to save on parsing every time
Create a material conversion system to map GLTF materials to our engine's material system
Develop a skeletal animation system compatible with GLTF animation data (stretch goal)
Implement morph target support for mesh deformations (stretch goal)
Engine Modifications
Extend the asset loading pipeline to handle GLTF files (As of this ticket it only supports OBJ loading)
Create a Scene graph and maybe a scene class that could be used to render and store the gltf nodes.
Enhance the rendering system to accommodate GLTF-specific features (e.g., PBR materials)
Implement or improve skeletal animation system (stretch goal)
Add morph target support to the mesh rendering pipeline (stretch goal)
Considerations
Performance optimization for loading large GLTF files
Memory management for complex scenes with many assets
Error handling and graceful fallback for unsupported GLTF features (Skeletal animations, morph target?)
Expected Outcome
This implementation will significantly enhance our engine's capability to handle complex, industry-standard 3D content, allowing for more detailed and diverse scenes, characters, and environments.
Implement GLTF Loading Support
Objective
Integrate GLTF (GL Transmission Format) loading capabilities into our engine to support complex, detailed scenes with advanced materials, animations, and hierarchical structures.
Features to Implement
Implementation Details
Engine Modifications
Considerations
Expected Outcome
This implementation will significantly enhance our engine's capability to handle complex, industry-standard 3D content, allowing for more detailed and diverse scenes, characters, and environments.