Git Product home page Git Product logo

vulkansamples's Introduction

Vulkan Samples

  • This repository is a collection of Vulkan C++ sample applications.
  • These samples were developed in the early days of Vulkan and are no longer enhanced or maintained. Refer to the KhronosGroup/Vulkan-Samples repository for newer samples that are enhanced and maintained.
  • 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.

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

Information for Developing or Contributing:

Please see the CONTRIBUTING.md file in this repository for more details.

How to Build and Run

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

Version Tagging Scheme

Updates to the LunarG-VulkanSamples repository which correspond to a new Vulkan specification release are tagged using the following format: v<version> (e.g., v1.1.96).

Note: Marked version releases have undergone thorough testing but do not imply the same quality level as SDK tags. SDK tags follow the sdk-<version>.<patch> format (e.g., sdk-1.1.92.0).

This scheme was adopted following the 1.1.96 Vulkan specification release.

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.

vulkansamples's People

Contributors

chrisforbes avatar cnorthrop avatar courtney-g avatar courtney-lunarg avatar daveh-lunarg avatar davidlunarg avatar dustin-lunarg avatar ggfan avatar greg-lunarg avatar ianatlunarg avatar ianelliottus avatar jeremy-lunarg avatar johnzupin avatar jon-lunarg avatar jzulauf-lunarg avatar karl-lunarg avatar krooze avatar lenny-lunarg avatar lisa-lunarg avatar mark-lunarg avatar markmlunarg avatar marky-lunarg avatar mikes-lunarg avatar null77 avatar olvaffe avatar pdaniell-nv avatar renelindsay avatar stroyan avatar tobine avatar tony-lunarg avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.