Skip to content
Snippets Groups Projects
Commit c1b771a9 authored by Lava Block's avatar Lava Block
Browse files

docs and readme

parent 3499ef6c
No related branches found
No related tags found
No related merge requests found
...@@ -22,18 +22,14 @@ Let's write **Hello World** in Vulkan... ...@@ -22,18 +22,14 @@ Let's write **Hello World** in Vulkan...
**"a simple app that renders a colored window"** **"a simple app that renders a colored window"**
All we need is a `window`, `device` and `renderer` All we need is a `window` + `device` and `renderer`
<br /> <br />
**Vulkan** is a low-level, verbose graphics API and such a program can take several hundred lines of code **Vulkan** is a low-level, verbose graphics API and such a program can take several hundred lines of code
<br />
The good news is that **liblava** will help you! The good news is that **liblava** will help you!
<br />
```c++ ```c++
#include <liblava/lava.hpp> #include <liblava/lava.hpp>
...@@ -41,7 +37,7 @@ using namespace lava; ...@@ -41,7 +37,7 @@ using namespace lava;
``` ```
<br /> <br />
Here are a few examples to get to know `lava` Here are a few examples to get to know `lava`
<br /> <br />
...@@ -125,9 +121,7 @@ return frame.run(); ...@@ -125,9 +121,7 @@ return frame.run();
<br /> <br />
Straightforward ⇒ With this knowledge in hand let's write our **Hello World** now... Straightforward ➜ With this knowledge in hand let's write our **Hello World** now...
<br />
#### 4. clear color #### 4. clear color
...@@ -253,8 +247,6 @@ frame.add_run_end([&]() { ...@@ -253,8 +247,6 @@ frame.add_run_end([&]() {
return frame.run(); return frame.run();
``` ```
<br />
##### Welcome on **Planet Vulkan** - That's a lot to display a colored window! ##### Welcome on **Planet Vulkan** - That's a lot to display a colored window!
<br /> <br />
...@@ -268,18 +260,22 @@ Phew! Take a closer look at the `build_cmd_bufs` function: ...@@ -268,18 +260,22 @@ Phew! Take a closer look at the `build_cmd_bufs` function:
The *VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT* flag specifies the reusage of command buffers The *VK_COMMAND_BUFFER_USAGE_SIMULTANEOUS_USE_BIT* flag specifies the reusage of command buffers
`clean_cmd_bufs` frees all buffers and destroys the command pool - In case of swap chain restoration we simply recreate command buffers with a new random color - This happens for example on window resize `clean_cmd_bufs` frees all buffers and destroys the command pool
<br /> In case of swap chain restoration we simply recreate command buffers with a new random color
After all, this is a very static example ⇒ Vulkan supports a more *dynamic* and common usage by resetting a command pool before recording new commands This happens for example on window resize
<br /> <br />
Ok, it's time for... `lava block` After all, this is a very static example
➜ Vulkan supports a more *dynamic* and common usage by resetting a command pool before recording new commands
<br /> <br />
Ok, it's time for... `lava block`
#### 5. color block #### 5. color block
```c++ ```c++
...@@ -316,8 +312,6 @@ block.add_command([&](VkCommandBuffer cmd_buf) { ...@@ -316,8 +312,6 @@ block.add_command([&](VkCommandBuffer cmd_buf) {
}); });
``` ```
<br />
##### Nice, this is much more simpler than before! ##### Nice, this is much more simpler than before!
<br /> <br />
...@@ -326,7 +320,7 @@ We create a `lava block` and add just one **command** that clears the current fr ...@@ -326,7 +320,7 @@ We create a `lava block` and add just one **command** that clears the current fr
<br /> <br />
All we need to do now is to process the block in the run loop... All we need to do now is to process the block in the run loop:
```c++ ```c++
if (!block.process(*frame_index)) if (!block.process(*frame_index))
...@@ -335,7 +329,7 @@ if (!block.process(*frame_index)) ...@@ -335,7 +329,7 @@ if (!block.process(*frame_index))
return plotter.end_frame(block.get_buffers()); return plotter.end_frame(block.get_buffers());
``` ```
... and call the renderer with our recorded command buffers And call the renderer with our recorded command buffers
<br /> <br />
...@@ -355,7 +349,7 @@ Check [Awesome Vulkan ecosystem](http://www.vinjn.com/awesome-vulkan/) for tutor ...@@ -355,7 +349,7 @@ Check [Awesome Vulkan ecosystem](http://www.vinjn.com/awesome-vulkan/) for tutor
#### 8. imgui demo #### 8. imgui demo
Out of blocks `lava app` supports the awesome [Dear ImGui](https://github.com/ocornut/imgui) for **tooling** and **easy prototyping**: Out of blocks `lava app` supports [Dear ImGui](https://github.com/ocornut/imgui) for **tooling** and **easy prototyping**:
```c++ ```c++
int main(int argc, char* argv[]) { int main(int argc, char* argv[]) {
...@@ -374,7 +368,7 @@ int main(int argc, char* argv[]) { ...@@ -374,7 +368,7 @@ int main(int argc, char* argv[]) {
<br /> <br />
##### What's next? Check some <a href="https://git.io/liblava-demo">demos</a> and clone a <a href="https://git.io/liblava-template">starter template</a> to try it out! ##### What's next? Check some <a href="https://git.io/liblava-demo">demos</a> and clone a <a href="https://git.io/liblava-template">starter template</a> to try it out!
<a href="https://github.com/liblava/liblava-demo/#readme"><img src="res/demo.png"></a> <a href="https://github.com/liblava/liblava-demo/#readme"><img src="res/demo.png"></a>
...@@ -386,8 +380,6 @@ int main(int argc, char* argv[]) { ...@@ -386,8 +380,6 @@ int main(int argc, char* argv[]) {
[![app](https://img.shields.io/badge/lava-app-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/app.hpp) [![camera](https://img.shields.io/badge/lava-camera-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/camera.hpp) [![forward_shading](https://img.shields.io/badge/lava-forward_shading-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/forward_shading.hpp) [![gui](https://img.shields.io/badge/lava-gui-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/gui.hpp) [![app](https://img.shields.io/badge/lava-app-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/app.hpp) [![camera](https://img.shields.io/badge/lava-camera-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/camera.hpp) [![forward_shading](https://img.shields.io/badge/lava-forward_shading-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/forward_shading.hpp) [![gui](https://img.shields.io/badge/lava-gui-brightgreen.svg)](https://github.com/liblava/liblava/tree/master/liblava/app/gui.hpp)
<br />
#### lava [block](https://github.com/liblava/liblava/tree/master/liblava/block) #### lava [block](https://github.com/liblava/liblava/tree/master/liblava/block)
[![attachment](https://img.shields.io/badge/lava-attachment-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/attachment.hpp) [![block](https://img.shields.io/badge/lava-block-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/block.hpp) [![descriptor](https://img.shields.io/badge/lava-descriptor-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/descriptor.hpp) [![pipeline](https://img.shields.io/badge/lava-pipeline-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/pipeline.hpp) [![render_pass](https://img.shields.io/badge/lava-render_pass-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/render_pass.hpp) [![subpass](https://img.shields.io/badge/lava-subpass-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/subpass.hpp) [![attachment](https://img.shields.io/badge/lava-attachment-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/attachment.hpp) [![block](https://img.shields.io/badge/lava-block-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/block.hpp) [![descriptor](https://img.shields.io/badge/lava-descriptor-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/descriptor.hpp) [![pipeline](https://img.shields.io/badge/lava-pipeline-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/pipeline.hpp) [![render_pass](https://img.shields.io/badge/lava-render_pass-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/render_pass.hpp) [![subpass](https://img.shields.io/badge/lava-subpass-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/block/subpass.hpp)
...@@ -396,8 +388,6 @@ int main(int argc, char* argv[]) { ...@@ -396,8 +388,6 @@ int main(int argc, char* argv[]) {
[![frame](https://img.shields.io/badge/lava-frame-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/frame.hpp) [![input](https://img.shields.io/badge/lava-input-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/input.hpp) [![render_target](https://img.shields.io/badge/lava-render_target-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/render_target.hpp) [![renderer](https://img.shields.io/badge/lava-renderer-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/renderer.hpp) [![swapchain](https://img.shields.io/badge/lava-swapchain-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/swapchain.hpp) [![window](https://img.shields.io/badge/lava-window-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/window.hpp) [![frame](https://img.shields.io/badge/lava-frame-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/frame.hpp) [![input](https://img.shields.io/badge/lava-input-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/input.hpp) [![render_target](https://img.shields.io/badge/lava-render_target-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/render_target.hpp) [![renderer](https://img.shields.io/badge/lava-renderer-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/renderer.hpp) [![swapchain](https://img.shields.io/badge/lava-swapchain-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/swapchain.hpp) [![window](https://img.shields.io/badge/lava-window-red.svg)](https://github.com/liblava/liblava/tree/master/liblava/frame/window.hpp)
<br />
#### lava [asset](https://github.com/liblava/liblava/tree/master/liblava/asset) #### lava [asset](https://github.com/liblava/liblava/tree/master/liblava/asset)
[![mesh_loader](https://img.shields.io/badge/lava-mesh_loader-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/asset/mesh_loader.hpp) [![scope_image](https://img.shields.io/badge/lava-scope_image-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/asset/scope_image.hpp) [![texture_loader](https://img.shields.io/badge/lava-texture_loader-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/asset/texture_loader.hpp) [![mesh_loader](https://img.shields.io/badge/lava-mesh_loader-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/asset/mesh_loader.hpp) [![scope_image](https://img.shields.io/badge/lava-scope_image-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/asset/scope_image.hpp) [![texture_loader](https://img.shields.io/badge/lava-texture_loader-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/asset/texture_loader.hpp)
...@@ -410,8 +400,6 @@ int main(int argc, char* argv[]) { ...@@ -410,8 +400,6 @@ int main(int argc, char* argv[]) {
[![base](https://img.shields.io/badge/lava-base-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/base.hpp) [![device](https://img.shields.io/badge/lava-device-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/device.hpp) [![instance](https://img.shields.io/badge/lava-instance-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/instance.hpp) [![memory](https://img.shields.io/badge/lava-memory-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/memory.hpp) [![physical_device](https://img.shields.io/badge/lava-physical_device-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/physical_device.hpp) [![base](https://img.shields.io/badge/lava-base-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/base.hpp) [![device](https://img.shields.io/badge/lava-device-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/device.hpp) [![instance](https://img.shields.io/badge/lava-instance-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/instance.hpp) [![memory](https://img.shields.io/badge/lava-memory-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/memory.hpp) [![physical_device](https://img.shields.io/badge/lava-physical_device-orange.svg)](https://github.com/liblava/liblava/tree/master/liblava/base/physical_device.hpp)
<br />
#### lava [file](https://github.com/liblava/liblava/tree/master/liblava/file) #### lava [file](https://github.com/liblava/liblava/tree/master/liblava/file)
[![file](https://img.shields.io/badge/lava-file-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/file.hpp) [![file_system](https://img.shields.io/badge/lava-file_system-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/file_system.hpp) [![file_utils](https://img.shields.io/badge/lava-file_utils-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/file_utils.hpp) [![json_file](https://img.shields.io/badge/lava-json_file-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/json_file.hpp) [![file](https://img.shields.io/badge/lava-file-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/file.hpp) [![file_system](https://img.shields.io/badge/lava-file_system-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/file_system.hpp) [![file_utils](https://img.shields.io/badge/lava-file_utils-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/file_utils.hpp) [![json_file](https://img.shields.io/badge/lava-json_file-blue.svg)](https://github.com/liblava/liblava/tree/master/liblava/file/json_file.hpp)
...@@ -438,8 +426,6 @@ Run the **lava** executable to test the [Tutorial examples](tests/tests.cpp) ...@@ -438,8 +426,6 @@ Run the **lava** executable to test the [Tutorial examples](tests/tests.cpp)
Let it simply flow... Let it simply flow...
<br />
##### List all tests: ##### List all tests:
```bash ```bash
...@@ -455,16 +441,12 @@ lava -t ...@@ -455,16 +441,12 @@ lava -t
7. gamepad 7. gamepad
8. [imgui demo](#8-imgui-demo) 8. [imgui demo](#8-imgui-demo)
<br />
##### Run test 2 for example: ##### Run test 2 for example:
```bash ```bash
lava 2 lava 2
``` ```
<br />
The **driver** starts the last test when you provide *no* command line arguments The **driver** starts the last test when you provide *no* command line arguments
<br /> <br />
...@@ -488,7 +470,7 @@ make ...@@ -488,7 +470,7 @@ make
## Install ## Install
You can use **liblava** as a *git submodule* in your project Like in the [starter template](https://git.io/liblava-template) and [demo](https://git.io/liblava-demo) You can use **liblava** as a *git submodule* in your project Like in the [starter template](https://git.io/liblava-template) and [demo](https://git.io/liblava-demo)
<br /> <br />
...@@ -502,8 +484,6 @@ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=../lava-install .. ...@@ -502,8 +484,6 @@ cmake -D CMAKE_BUILD_TYPE=Release -D CMAKE_INSTALL_PREFIX=../lava-install ..
cmake --build . --target install cmake --build . --target install
``` ```
<br />
#### Project setup #### Project setup
First find the package in your *CMakeLists.txt* First find the package in your *CMakeLists.txt*
...@@ -519,7 +499,7 @@ target_link_libraries(test lava::app) ...@@ -519,7 +499,7 @@ target_link_libraries(test lava::app)
<br /> <br />
And then build your project with install path *lava_DIR* And then build your project with install path *lava_DIR*
```bash ```bash
mkdir build mkdir build
......
<a href="https://lava-block.com"><img align="right" src="https://github.com/liblava.png" width="220"></a> <a href="https://lava-block.com"><img align="right" src="https://github.com/liblava.png" width="200"></a>
🌋 **[liblava](https://git.io/liblava) &nbsp; A modern and easy-to-use library for the <a href="https://www.khronos.org/vulkan/" target="_blank">Vulkan</a>® API** 🌋 **[liblava](https://git.io/liblava) &nbsp; A modern and easy-to-use library for the <a href="https://www.khronos.org/vulkan/" target="_blank">Vulkan</a>® API**
...@@ -6,9 +6,9 @@ ...@@ -6,9 +6,9 @@
<br /> <br />
**C++20** &nbsp; **Modular** &nbsp; **Windows** &nbsp; **Linux** &nbsp; **<a href="https://git.io/liblava-demo">demo</a>** &nbsp; <a href="https://git.io/liblava-template">template</a> **C++20** + **Modular** &nbsp; **Windows** + **Linux** &nbsp; **<a href="https://git.io/liblava-demo">demo</a>** + <a href="https://git.io/liblava-template">template</a>
[![Version](https://img.shields.io/badge/Version-0.5.4-blue)](https://git.io/liblava) [![License](https://img.shields.io/github/license/liblava/liblava)](LICENSE) [![CodeFactor](https://www.codefactor.io/repository/github/liblava/liblava/badge)](https://www.codefactor.io/repository/github/liblava/liblava) &nbsp; [![Discord](https://img.shields.io/discord/439508141722435595)](https://discord.lava-block.com) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/liblava) [![Twitter URL](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Follow)](https://twitter.com/liblava) [![Version](https://img.shields.io/badge/Version-0.5.4-blue)](https://git.io/liblava) [![License](https://img.shields.io/github/license/liblava/liblava)](LICENSE) [![CodeFactor](https://www.codefactor.io/repository/github/liblava/liblava/badge)](https://www.codefactor.io/repository/github/liblava/liblava) [![Discord](https://img.shields.io/discord/439508141722435595)](https://discord.lava-block.com) [![Donate](https://img.shields.io/badge/Donate-PayPal-green.svg)](https://paypal.me/liblava) [![Twitter URL](https://img.shields.io/twitter/url/http/shields.io.svg?style=social&label=Follow)](https://twitter.com/liblava)
<br /> <br />
...@@ -36,7 +36,7 @@ ...@@ -36,7 +36,7 @@
<br /> <br />
##### Download latest **<a href="https://github.com/liblava/liblava-demo/releases">demo</a>** (Feb. 20, 2020) ##### Download latest **<a href="https://github.com/liblava/liblava-demo/releases">demo</a>** (Feb. 20, 2020)
<a href="https://github.com/liblava/liblava-demo/#readme"><img src="res/demo.png"></a> <a href="https://github.com/liblava/liblava-demo/#readme"><img src="res/demo.png"></a>
...@@ -44,8 +44,6 @@ ...@@ -44,8 +44,6 @@
[![Build status](https://ci.appveyor.com/api/projects/status/gxvjpo73qf637hy3?svg=true)](https://ci.appveyor.com/project/TheLavaBlock/liblava) [![Build Status](https://travis-ci.com/liblava/liblava.svg?branch=master)](https://travis-ci.com/liblava/liblava) [![Build status](https://ci.appveyor.com/api/projects/status/gxvjpo73qf637hy3?svg=true)](https://ci.appveyor.com/project/TheLavaBlock/liblava) [![Build Status](https://travis-ci.com/liblava/liblava.svg?branch=master)](https://travis-ci.com/liblava/liblava)
<br />
## Requirements ## Requirements
* **C++20** compatible compiler * **C++20** compatible compiler
...@@ -56,21 +54,21 @@ ...@@ -56,21 +54,21 @@
## Third-Party ## Third-Party
* [argh](https://github.com/adishavit/argh) &nbsp; 3-clause BSD * [argh](https://github.com/adishavit/argh) &nbsp; *3-clause BSD*
* [bitmap](https://github.com/ArashPartow/bitmap) &nbsp; MIT * [bitmap](https://github.com/ArashPartow/bitmap) &nbsp; *MIT*
* [glfw](https://github.com/glfw/glfw) &nbsp; zlib * [glfw](https://github.com/glfw/glfw) &nbsp; *zlib*
* [gli](https://github.com/g-truc/gli) &nbsp; MIT * [gli](https://github.com/g-truc/gli) &nbsp; *MIT*
* [glm](https://github.com/g-truc/glm) &nbsp; MIT * [glm](https://github.com/g-truc/glm) &nbsp; *MIT*
* [imgui](https://github.com/ocornut/imgui) &nbsp; MIT * [imgui](https://github.com/ocornut/imgui) &nbsp; *MIT*
* [json](https://github.com/nlohmann/json) &nbsp; MIT * [json](https://github.com/nlohmann/json) &nbsp; *MIT*
* [physfs](https://github.com/Didstopia/physfs) &nbsp; zlib * [physfs](https://github.com/Didstopia/physfs) &nbsp; *zlib*
* [selene](https://github.com/kmhofmann/selene) &nbsp; MIT * [selene](https://github.com/kmhofmann/selene) &nbsp; *MIT*
* [spdlog](https://github.com/gabime/spdlog) &nbsp; MIT * [spdlog](https://github.com/gabime/spdlog) &nbsp; *MIT*
* [stb](https://github.com/nothings/stb) &nbsp; MIT * [stb](https://github.com/nothings/stb) &nbsp; *MIT*
* [tinyobjloader](https://github.com/syoyo/tinyobjloader) &nbsp; MIT * [tinyobjloader](https://github.com/syoyo/tinyobjloader) &nbsp; *MIT*
* [volk](https://github.com/zeux/volk) &nbsp; MIT * [volk](https://github.com/zeux/volk) &nbsp; *MIT*
* [Vulkan-Headers](https://github.com/KhronosGroup/Vulkan-Headers) &nbsp; Apache 2.0 * [Vulkan-Headers](https://github.com/KhronosGroup/Vulkan-Headers) &nbsp; *Apache 2.0*
* [VulkanMemoryAllocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) &nbsp; MIT * [VulkanMemoryAllocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) &nbsp; *MIT*
<br /> <br />
...@@ -78,8 +76,6 @@ ...@@ -78,8 +76,6 @@
You can use the [issue tracker](https://github.com/liblava/liblava/issues) to report any bug or compatibility issue You can use the [issue tracker](https://github.com/liblava/liblava/issues) to report any bug or compatibility issue
<br />
:heart: Thanks to all **[contributors](https://github.com/liblava/liblava/graphs/contributors)** making **liblava** flow... :heart: Thanks to all **[contributors](https://github.com/liblava/liblava/graphs/contributors)** making **liblava** flow...
<br /> <br />
...@@ -96,18 +92,16 @@ If you want to contribute, we suggest the following: ...@@ -96,18 +92,16 @@ If you want to contribute, we suggest the following:
## License ## License
<a href="https://opensource.org" target="_blank"><img align="right" width="80" src="http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png" style="margin:0px 0px 0px 20px"></a> <a href="https://opensource.org" target="_blank"><img align="right" width="90" src="http://opensource.org/trademarks/opensource/OSI-Approved-License-100x137.png" style="margin:0px 0px 0px 40px"></a>
**liblava** is licensed under [MIT License](LICENSE.md) which allows you to use the software for any purpose you might like, including commercial and for-profit use! **liblava** is licensed under [MIT License](LICENSE.md) which allows you to use the software for any purpose you might like, including commercial and for-profit use!
<br /> <br />
However, this library includes several third-party **Open Source** libraries, which are licensed under their own respective licenses They all allow static linking with closed source software However, this library includes several third-party **Open Source** libraries, which are licensed under their own respective 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** **All copies of liblava must include a copy of the MIT License terms and the copyright notice**
<br />
##### Vulkan and the Vulkan logo are trademarks of the <a href="http://www.khronos.org" target="_blank">Khronos Group Inc.</a> ##### Vulkan and the Vulkan logo are trademarks of the <a href="http://www.khronos.org" target="_blank">Khronos Group Inc.</a>
##### Copyright (c) 2018-present, <a href="https://lava-block.com">Lava Block OÜ</a> ##### Copyright (c) 2018-present, <a href="https://lava-block.com">Lava Block OÜ</a>
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment