Giter Site home page Giter Site logo

vulkancore's Introduction

Vulkan Core Library

This repo serves as a framework for working with Vulkan and faster development.

Prerequisites

Linux

Make sure you have installed these libraries:

  • Vulkan SDK (or Vulkan libvulkan-dev if you are on Ubuntu on Linux Mint)
  • Assimp
$ sudo apt install libassimp-dev
  • Bear (This is applicable to developers who want to use clangs compile_commands.json)

Also setup your own $VULKAN_SDK Environment variable where the path will point to the 1.X.X.X/x86_64 (for ex. /home/username/Dev/VulkanSDK/1.X.X.X/x86_64) dir on Linux or 1.X.X.X on Windows (for ex. C:\VulkanSDK\1.X.X.X)

Building VulkanCore


The repo can be built with Premake5 (included in the Vendor/premake/ dir).

There can be two ways to build it.

Having source files directly in the repo

If you are going to create your own source files in the Src directory, you can run premake <your project type> directly. This will generate the project files. After that you can build it with your own IDE or other desired toolchain (for ex. make)

Another project located outside VulkanCore

In order to build it, you need to create a new premake5.lua file in the project, in which this repo or VulkanCore exists, and include the VulkanCore premake file in that newly created. You also may need to pass into arguments the newly created .lua file when executing premake command.

For ex.

---@diagnostic disable: undefined-global
workspace("ExampleProject")

    -- Configurations have to be defined first before including any other premake.lua files
    configurations({ "Debug", "Release" })

    include("ExampleProject")
    include("VulkanCore")

This premake5.lua file is located outside VulkanCore directory. (/home/username/dev/Cpp/repo/VulkanCore/, /home/username/dev/Cpp/repo/ExampleProject/, /home/username/dev/Cpp/repo/premake5.lua/)

vulkancore's People

Contributors

casgen avatar

Watchers

 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.