//// - Copyright (c) 2021-2024, The Khronos Group - - SPDX-License-Identifier: Apache-2.0 - - Licensed under the Apache License, Version 2.0 the "License"; - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. - //// ifndef::api_samplespath[:api_samplespath:] == 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. === xref:./{api_samplespath}compute_nbody/README.adoc[Compute shader N-Body simulation] Compute shader example that uses two passes and shared compute shader memory for simulating a N-Body particle system. === xref:./{api_samplespath}dynamic_uniform_buffers/README.adoc[Dynamic Uniform buffers] Dynamic uniform buffers are used for rendering multiple objects with separate matrices stored in a single uniform buffer object, that are addressed dynamically. === xref:./{api_samplespath}hdr/README.adoc[High dynamic range] Implements a high dynamic range rendering pipeline using 16/32 bit floating point precision for all calculations. === xref:./{api_samplespath}hello_triangle/README.adoc[Hello Triangle] A self-contained (minimal use of framework) sample that illustrates the rendering of a triangle. === xref:./{api_samplespath}hpp_compute_nbody/README.adoc[HPP Compute shader N-Body simulation] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_dynamic_uniform_buffers/README.adoc[HPP Dynamic Uniform Buffers] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_hdr/README.adoc[HPP High dynamic range] A transcoded version of the API sample <>that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_hello_triangle/README.adoc[HPP Hello Triangle] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_hlsl_shaders/README.adoc[HPP HLSL shaders] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_instancing/README.adoc[HPP Instancing] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_oit_depth_peeling/README.adoc[HPP OIT Depth Peeling] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_oit_linked_lists/README.adoc[HPP OIT Linked Lists] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of Vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_separate_image_sampler/README.adoc[HPP Separate image sampler] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_terrain_tessellation/README.adoc[HPP Terrain Tessellation] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_texture_loading/README.adoc[HPP Texture Loading] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_texture_mipmap_generation/README.adoc[HPP Texture run-time mip-map generation] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of vulkan provided by vulkan.hpp. === xref:./{api_samplespath}hpp_timestamp_queries/README.adoc[HPP Timestamp queries] A transcoded version of the API sample <> that illustrates the usage of the C{pp} bindings of vulkan provided by vulkan.hpp. === xref:./{api_samplespath}instancing/README.adoc[Instancing] Uses the instancing feature for rendering many instances of the same mesh from a single vertex buffer with variable parameters and textures. === xref:./{api_samplespath}separate_image_sampler/README.adoc[Separate image sampler] 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. === xref:./{api_samplespath}terrain_tessellation/README.adoc[Terrain Tessellation] Uses a tessellation shader for rendering a terrain with dynamic level-of-detail and frustum culling. === xref:./{api_samplespath}texture_loading/README.adoc[Texture loading] Loading and rendering of a 2D texture map from a file. === xref:./{api_samplespath}texture_mipmap_generation/README.adoc[Texture run-time mip-map generation] Generates a complete mip-chain for a texture at runtime instead of loading it from a file. === xref:./{api_samplespath}hlsl_shaders/README.adoc[HLSL shaders] Converts High Level Shading Language (HLSL) shaders to Vulkan-compatible SPIR-V. === xref:./{api_samplespath}timestamp_queries/README.adoc[Timestamp queries] Using timestamp queries for profiling GPU workloads. === xref:./{api_samplespath}swapchain_recreation/README.adoc[Swapchain recreation] A sample that implements best practices in handling swapchain recreation, for example due to window resizing or present mode changes. === xref:./{api_samplespath}oit_linked_lists/README.adoc[Order-independent transparency with per-pixel ordered linked lists] A sample that implements an order-independent transparency algorithm using per-pixel ordered linked lists. === xref:./{api_samplespath}oit_depth_peeling/README.adoc[Order-independent transparency with depth peeling] A sample that implements order-independent transparency with depth peeling.