Giter VIP home page Giter VIP logo

vk-sandbox's Introduction

Vulkan Sandbox

Welcome to the Vulkan Sandbox! If you are looking to develop a Vulkan application together with a highly customizable user interface (Dear Imgui) and do not want to write thousands of lines of boilerplate code, this project might be for you. Or if you just want to marvel at how many lines of code it takes to draw a triangle you can just peruse the code.

This repository is designed to be cloned and ready for use on all Linux, Windows, and Mac. The project makes minimal assumptions about code structure and places all the necessary code into just four header and source files, so that it is easy to get started right away. No abstraction layers have been written for the creation of Vulkan objects, but it should definitely be possible to quickly refactor components.

If you want more in-depth details take a look at the Resources section below.

Dependencies

  • Compiler toolchain that supports C++14
  • CMake 3.16
  • Vulkan SDK 1.2
  • GLFW 3.3

Building

Building is straightforward and should work out of the box. If that is not the case please file an issue with me and I will try to help you out. To build the project follow these steps:

git clone https://github.com/tstullich/vk-sandbox
cd vk-sandbox
mkdir build
cd build
cmake .. && make

Once the build finishes make sure to compile the shaders into SPIR-V by using the compile.sh script found in the shaders subdirectory.

cd shaders
./compile.sh

Afer this you should be able to run the project in an IDE or directly from the build directory and you should be greeted with a window like the one below. Now you should be ready to write your application!

Image Success

Resources

A lot of the work for this repository is based on the great vulkan-tutorial so if you want to learn more about Vulkan you should definitely check that out. Dear Imgui also has some documentation, although I find it to be scattered and good information is hard to find. But do read through it to get started on writing your own

Contributing

If you find any issues with this code, please feel free to send a pull request or file an issue with a brief error report and I'll try to respond to your request as soon as possible.

vk-sandbox's People

Contributors

tstullich 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.