Vultaik can be used to produce render layers for custom engines or next-gen games and provides building blocks for writing your own engine or game quickly. Due to the parallel nature of GPUs, Vultaik can use GPGPU to exploit a GPU for computational tasks. Supports ComputePipeline and more, allowing to be used for general computations
Low-level rendering backend
The rendering backend focuses entirely on Vulkan and HLSL, however, the API greatly simplifies the more painful points of writing straight Vulkan. Modern Vulkan extensions and features are aggressively made use of to improve performance
Some notable extensions that should be supported for optimal or correct behavior. These extensions will likely become mandatory later.
- Ray Tracing
- Conservative rasterization
- Multiview rendering
- Conditional rendering
- Shading rate
- Descriptor indexing
- Timeline semaphore
- Memory allocator
- GPU-Assisted Validation
- Compute Shader
- Geometry Shader
- Tessellation Shader
- Instancing, Indirect drawing
- Post-AA (FXAA, SMAA and TAA)
- Multithreaded rendering
- Automatic descriptor set management
- Shader reflection with SPIRV-Cross
- Vulkan HLSL for shaders, shaders are compiled in runtime with DirectXShaderCompiler
- GLTF 2.0 for samples
This example shows how to configure the device and clear the color.
This example shows how to render simple triangle.
This example how to transform the world space for each object.
This example use push constants, small blocks of uniform data stored within a command buffer, to pass data to a shader without the need for uniform buffers.
This example shows how to load GLTF models.
This example shows how to load 2D texture from disk (including all mip levels).
This example demonstrates the use of VK_EXT_descriptor_indexing for creating descriptor sets with a variable size that can be dynamically indexed in a shader using
This example shows how to create diffuse lighting.
This example shows how to create ambient lighting.
This example shows how to create specular lighting.
Use a calculation shader in conjunction with a separate calculation queue to modify a full screen image.
Additionally, Vultaik uses NuGet packages or code from the following repositories: