Zeckoxe Engine
Zeckoxe Engine is a 2D/3D renderer implemented in Vulkan®
The code is licensed under MIT. Feel free to use it for whatever purpose.
Low-level rendering backend
The rendering backend is completely focused on Vulkan, however the Engine greatly simplifies the most painful points of writing Vulkan.
Features:
- KHR Ray Tracing
- Entity Component System
- Memory allocator (VMA)
- Physically-Based Rendering
- Instancing, Indirect drawing
- Tessellation (Phong, PN Triangles, and Displacement Mapping)
- Post-AA (FXAA, SMAA and TAA)
- Vulkan GLSL for shaders, shaders are compiled in runtime with shaderc
- Multithreaded rendering
- GLTF 2.0
Examples
| Example | Screenshot | Description |
|---|---|---|
| Clear Screen | This example shows how to configure the device and clear the color. | |
| Triangle | This example shows how to render simple triangle. | |
| Transformations | We will transform the world space for each object (the two cubes) using transformation matrices. | |
| LoadGLTF | Load GLTF 3D Model. | |
| LoadTexture | Loads a 2D texture from disk (including all mip levels), uses staging to upload it into video memory. |
Research or code used:
- Granite (https://github.com/Themaister/Granite)
- Vulkan examples from Sascha Willems (https://github.com/SaschaWillems/Vulkan)
- Vortice.Vulkan (https://github.com/amerkoleci/Vortice.Vulkan)
- DefaultEcs (https://github.com/Doraku/DefaultEcs)

