Thanks to visit codestin.com
Credit goes to github.com

Skip to content

SOHNE/Vultra

Repository files navigation

Vultra Logo

Vultra

License

A playful Vulkan rendering library, crafted for a simpler world. 🍃

Introduction

Vultra aims to empower you to build and prototype games and vulkan apps quickly. It is a lightweight rendering library written in C99, drawing inspiration from the simplicity of Raylib and the robustness of liblava. Originally a study project, the focus is on keeping the code clear, simple, and easy to work with.

Screenshots

Usage

Caution

Vultra is currently in a highly work-in-progress state. The API is unstable and subject to significant changes. It is intended for learning and experimentation purposes.

To get started with, here's a simple example that demonstrates the basics:

#include "vultra/vultra.h"

int
main( void )
{
    const int screenWidth  = 640;
    const int screenHeight = 480;

    InitWindow( screenWidth, screenHeight, "Vultra: Basic Window" );
    SetTargetFPS( 60 );

    while( !ShouldQuit() )
        {
            if( IsKeyDown( KEY_ESCAPE ) ) break;

            BeginDrawing();
            {
                // ...
            }
            EndDrawing();
        }

    CloseWindow();
    return EXIT_SUCCESS;
}

Build & Run

CPM.cmake
  1. First, set up CPM.cmake in your project:

    mkdir -p cmake
    wget -O cmake/CPM.cmake https://github.com/cpm-cmake/CPM.cmake/releases/latest/download/get_cpm.cmake
  2. In your CMakeLists.txt, add the following lines after project(...):

    include(cmake/CPM.cmake)
    
    CPMAddPackage("gh:SOHNE/[email protected]")
    
    add_executable(your_target main.cpp)
    target_link_libraries(your_target PRIVATE Vultra::Vultra)
    

Contributing

The majority of Vultra code is open-source. We are committed to a transparent development process and highly appreciate any contributions. Whether you are helping us fix bugs, proposing new features, improving our documentation or spreading the word - we would love to have you as a part of the SOHNE/Vultra community. Please refer to our contribution guidelines.

  • Bug Report: If you see an error message or encounter an issue while using Vultra, please create a bug report.

  • Feature Request: If you have an idea or if there is a capability that is missing and would make development easier and more robust, please submit a feature request.

  • Documentation Request: If you're reading the Vultra docs and feel like you're missing something, please submit a documentation request.

License

Vultra is licensed under the zlib/libpng license.

You are free to use, modify, and distribute this library under the following conditions:

  1. No Misrepresentation: You must not misrepresent the origin of the software. If you use this software in a product, an acknowledgment in the product documentation is appreciated but not required.
  2. Modified Versions: Altered source versions must be clearly marked as such and must not be misrepresented as the original software.
  3. License Notice: This license notice may not be removed or altered from any source distribution.

For the full license text, please see the LICENSE file.

Vultra depends on several third-party libraries and dependencies, each distributed under its own license. It is the responsibility of the user to review and comply with these additional licenses.


About

An intuitive Vulkan library

Topics

Resources

License

Stars

Watchers

Forks