Vulkust (unstable, work in progress)
An experimental tiny engine for Vulkan in Rust.
- Safety: Only FFI related stuff are
unsafeand in addition several other validation on runtime occur for checking correct API usage and for performance reason it happens only in debug mode.
- Quality: It's gonna use highest available hardware features for providing better graphics, some of the feature may not be appropriate for poor devices (e.g. deferred rendering).
- Performance: It does every thing to bring highest possible performance.
- Fast development: Easy to develop new features.
- Small executable binary file: Abstained from chunky big external dependencies.
- Cross-platform: It works for Linux, Android, Windows, MacOS, iOS, (note: current focus is mostly on Linux and Android but other platforms get support after a while after a new feature added)
- Maintainable code
It is under lots of changes.
(Until current milestone feature is not implemented it is not stable.)
2-1- Current milestone
2-1-1- Current features:
- Cross platform (Linux, Windows, MacOs, Android, iOS)
- Deferred Rendering
- Multithreaded Rendering
- Support current version of GX3D.
- Supports font rendering
- UI system (early version)
- A safe interface over Vulkan
- Vulkan Memory management (early version)
- Occlusion culling (Frustum culling)
- Cascaded Shadow
- Shadow Accumulation
- Soft Shadowing
- PBR lighting
- Texture mipmapping (2D)
2-1-2- Underdeveloment features:
- Forward transparent pass
2-1-3- In near future:
- Auto exposure
- Light blooming
- Light streak
- PBR IBL
- More UI widgets
- Supporting GLTF
- First of all master branch may become unstable or even uncompilable. (I'm gonna create a release branch in the first stable version)
- You must have glslangValidator in you PATH environment variable.
- For iOS and Android, you must have vulkust-ios and vulkust-android projects next to the vulkust root.
- You can do whatever you want to do with it, but every consequences are on you.
- You can not say that you have written this.
- Make some promotion for this project and me (I'm a job seeker).