Vulkan Samples
C++ Python C Objective-C CMake HTML Other
Switch branches/tags
Clone or download
Tony-LunarG samples: Add install targets
Change-Id: I1cd883d66fd7c3fb709d9701f7f10d4a2d3489c7
Latest commit c0c5764 Jul 27, 2018
Permalink
Failed to load latest commit information.
API-Samples samples: Add install targets Aug 2, 2018
Layer-Samples header: Update sample layers to 1.1.73 Apr 16, 2018
Sample-Programs/Hologram samples: Add install targets Aug 2, 2018
build-android build: Add LVL as a submodule Feb 26, 2018
cmake Remove Vulkan-LoaderAndValidationLayers submodule Jul 26, 2018
external_revisions external: Update glslang commit ID, fix LVT Feb 6, 2018
samples_images sdk: update samples index with cube demo Oct 10, 2016
scripts Remove Vulkan-LoaderAndValidationLayers submodule Jul 26, 2018
.appveyor.yml appveyor: Don't cache external directory Jul 31, 2018
.clang-format repo: Change source style from LLVM to Google Jan 26, 2017
.gitattributes repo: normalize line termination across repo Oct 30, 2017
.gitignore Merge branch 'trunk' Feb 6, 2018
.gitmodules Remove Vulkan-LoaderAndValidationLayers submodule Jul 26, 2018
.travis.yml samples: Add install targets Aug 2, 2018
BUILD.md Remove Vulkan-LoaderAndValidationLayers submodule Jul 26, 2018
CMakeLists-SDK.txt Samples: Look in lib directory for loader in SDK Apr 18, 2018
CMakeLists.txt samples: Add install targets Aug 2, 2018
CONTRIBUTING.md docs: Additional updates and corrections Jan 5, 2018
COPYRIGHT.txt Merge branch 'trunk' Oct 30, 2017
LICENSE.txt misc: Update licenses to Apache 2.0 Apr 19, 2016
MANIFEST.md samples: Add manifest file Feb 17, 2017
README-contrib.md Update contributing to require Apache style license May 23, 2016
README.md Remove Vulkan-LoaderAndValidationLayers submodule Jul 26, 2018
build_windows_samples_sdk.bat repo: normalize line termination across repo Oct 30, 2017
build_windows_targets.bat Merge branch 'trunk' Feb 6, 2018
samples_index.html docs: Update samples_index with new 1.1 samples Mar 9, 2018
update_external_sources.bat build: Add LVL as a submodule Feb 26, 2018
update_external_sources.sh build: Add LVL as a submodule Feb 26, 2018
vulkan_lunarg_icon.png samples_index : Add tab icon May 13, 2016

README.md

Vulkan Samples

  • This repository is a collection of Vulkan C++ sample applications.
  • Run the following script to obtain a short description of all or a specific sample: $ API-Samples/get-short-descripts.sh
  • Run the following script to obtain a more detailed description of all samples with a long description set: $ API-Samples/get-descripts.sh

CI Build Status

Platform Build Status
Linux/Android Build Status
Windows Build status

Structure

Vulkan Samples

  • The Vulkan Samples repo is a set of source and data files in a specific directory hierarchy:
    • API-Samples - Samples that demonstrate the use of various aspects of the Vulkan API
    • Vulkan Tutorial - Steps you through the process of creating a simple Vulkan application, learning the basics along the way. This Vulkan Tutorial link allows you to view the Vulkan Tutorial on LunarXchange as well.
    • Sample-Programs - Samples that are more functional and go deeper than simple API use.
    • Layer-Samples - Samples that are implemented as layers. The Overlay layer sample is deprecated and does not build.

Sample progression

  • In general, the samples are not interrelated, but there is a progression among some of the samples that lead to drawing a cube. Start with the instance sample, then enumerate-adv, device, initcommandbuffer, initswapchain, initdepthbuffer, inituniformbuffer, descriptor_pipeline_layouts, initrenderpass, initshaders, initframebuffers, vertexbuffer, allocdescriptorsets, initpipeline, and they culminate in the drawcube sample. Each sample uses utility routines from the code from previous samples to get to the point to show something new. The drawtexturedcube sample takes all of the drawcube code and adds texturing.
## Contributing
  Refer to the README.contrib file for specific info regarding contributing to
  the Vulkan samples creation effort.

## Contact Information
* [Tony Barbour](mailto:tony@lunarg.com)
* [Mark Lobodzinski](mailto:mark@lunarg.com)

## Information for Developing or Contributing:

Please see the [CONTRIBUTING.md](CONTRIBUTING.md) file in this repository for more details.

## How to Build and Run

[BUILD.md](BUILD.md)
Includes directions for building all components as well as running validation tests and demo applications.

## License
This work is released as open source under a Apache-style license.  See LICENSE.txt for full license.

See COPYRIGHT.txt for a full list of licenses used in this repository.

## Acknowledgements
While this project has been developed primarily by LunarG, Inc., there are many other
companies and individuals making this possible: Valve Corporation, funding
project development; Google providing significant contributions to the samples.