Skip to content

Latest commit

 

History

History
132 lines (76 loc) · 6.65 KB

README.adoc

File metadata and controls

132 lines (76 loc) · 6.65 KB

API samples

The goal of these samples is to demonstrate how to use a given Vulkan feature at the API level with as little abstraction as possible.

Compute shader example that uses two passes and shared compute shader memory for simulating a N-Body particle system.

Dynamic uniform buffers are used for rendering multiple objects with separate matrices stored in a single uniform buffer object, that are addressed dynamically.

Implements a high dynamic range rendering pipeline using 16/32 bit floating point precision for all calculations.

A self-contained (minimal use of framework) sample that illustrates the rendering of a triangle.

A transcoded version of the API sample Compute N-Body that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample Dynamic Uniform buffers that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample High dynamic rangethat illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample Hello Triangle that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample HLSL Shaders that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample Instancing that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample OIT Depth Peeling that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample OIT Linked Lists that illustrates the usage of the C++ bindings of Vulkan provided by vulkan.hpp.

A transcoded version of the API sample Separate image sampler that illustrates the usage of the C++ bindings of vulkan provided by vulkan.hpp.

A transcoded version of the API sample Terrain Tessellation that illustrates the usage of the C++ bindings of vulkan provided by vulkan.hpp.

A transcoded version of the API sample Texture loading that illustrates the usage of the C++ bindings of vulkan provided by vulkan.hpp.

A transcoded version of the API sample Texture run-time mip-map generation that illustrates the usage of the C++ bindings of vulkan provided by vulkan.hpp.

A transcoded version of the API sample Timestamp queries that illustrates the usage of the C++ bindings of vulkan provided by vulkan.hpp.

Uses the instancing feature for rendering many instances of the same mesh from a single vertex buffer with variable parameters and textures.

Separate image and samplers, both in the application and the shaders. The sample demonstrates how to use different samplers for the same image without the need to recreate descriptors.

Uses a tessellation shader for rendering a terrain with dynamic level-of-detail and frustum culling.

Loading and rendering of a 2D texture map from a file.

Generates a complete mip-chain for a texture at runtime instead of loading it from a file.

Converts High Level Shading Language (HLSL) shaders to Vulkan-compatible SPIR-V.

Using timestamp queries for profiling GPU workloads.

A sample that implements best practices in handling swapchain recreation, for example due to window resizing or present mode changes.

A sample that implements an order-independent transparency algorithm using per-pixel ordered linked lists.

A sample that implements order-independent transparency with depth peeling.