Giter Site home page Giter Site logo

feiyunwill / liblava Goto Github PK

View Code? Open in Web Editor NEW

This project forked from liblava/liblava

0.0 2.0 0.0 6.77 MB

A modern and easy-to-use library for the Vulkan API

Home Page: https://git.io/liblava

License: MIT License

CMake 3.20% C++ 94.44% Shell 0.15% GLSL 2.05% Batchfile 0.15%

liblava's Introduction

liblava   Version

A modern and easy-to-use library for the Vulkan® API

lava is a lean framework that provides essentials for low-level graphics
Specially well suited for prototyping, tooling and education


Version   License   CodeFactor   Discord   Donate   Twitter URL

  ➜   C++20   /   Modular   /   Linux   /   Windows


Requirements   Download   Build   Template


  • written in modern C++ with latest Vulkan support
  • run loop abstraction for window and input handling
  • plain renderer and command buffer model
  • texture and mesh loading from virtual file system
  • GUI + camera + logging + utils and much more

Docs

Tutorial   Guide   Reference   Tests   Third-Party   Install


core util file   base resource asset   frame block   app demo


Demos

deferred shading / offscreen rendering

light


uniform buffer camera

spawn


push constants to shader

lamp


generating primitives


float, double, and int meshes


classic colored mesh

triangle


Projects

raytraced reflecting cubes   ➜   pezcode/lava-rt

cubes


Requirements

  • C++20 compatible compiler
  • CMake 3.20+
  • Vulkan SDK

Build

CMake (Linux, Windows)

git clone https://github.com/liblava/liblava.git
cd liblava

git submodule update --init --recursive

mkdir build
cd build

cmake ..
make

Template

You can start coding with the template project

  ➜   Just put your code in the src folder. Everything you need is in main.cpp

If you like you can rename it by setting the LIBLAVA_TEMPLATE_NAME variable in CMake:

cmake -DLIBLAVA_TEMPLATE_NAME="My-Project" ..

Collaborate

Use the issue tracker to report any bug or compatibility issue

❤️ Thanks to all contributors making liblava flow...


Support

If you want to contribute, we suggest the following:

  1. Fork the official repository
  2. Apply your changes to your fork
  3. Submit a pull request describing the changes you have made

License

liblava is licensed under MIT License which allows you to use the software
for any purpose you might like, including commercial and for-profit use!


However, this library includes several Third-Party libraries, which are licensed under their own respective Open Source licenses   ➜   They all allow static linking with closed source software

All copies of liblava must include a copy of the MIT License terms and the copyright notice

Vulkan and the Vulkan logo are trademarks of the Khronos Group Inc.
Copyright (c) 2018-present, Lava Block OÜ and contributors

liblava's People

Contributors

thelavablock avatar cons-cat avatar pezcode avatar underdoeg avatar dunkyp avatar

Watchers

James Cloos avatar  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.