Vultaik Cross-Platform Rendering
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
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.
VK_EXT_descriptor_indexing
VK_KHR_timeline_semaphore
VK_KHR_ray_tracing_pipeline
VK_KHR_acceleration_structure
VK_KHR_ray_query
VK_KHR_buffer_device_address
VK_KHR_fragment_shading_rate
Example | Details |
---|---|
Clear Screen This example shows how to configure the device and clear the color. |
|
Triangle This example shows how to render simple triangle. |
|
Transformations This example how to transform the world space for each object. |
|
Push Constant 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. |
|
Load GLTF This example shows how to load GLTF models. |
|
Load Texture This example shows how to load 2D texture from disk (including all mip levels). |
|
Bindless 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 SPV_EXT_descriptor_indexing . |
|
Diffuse Lighting This example shows how to create diffuse lighting. |
|
Ambient Lighting This example shows how to create ambient lighting. |
|
Specular Lighting This example shows how to create specular lighting. |
|
Compute Texture 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: