Skip navigation links

@NonnullDefault

Package org.lwjgl.util.vma

Contains bindings to Vulkan, an easy to integrate Vulkan memory allocation library.

See: Description

Package org.lwjgl.util.vma Description

Contains bindings to Vulkan, an easy to integrate Vulkan memory allocation library.

Problem

Memory allocation and resource (buffer and image) creation in Vulkan is difficult (comparing to older graphics API-s, like D3D11 or OpenGL) for several reasons:

Features

This library can help game developers to manage memory allocations and resource creation by offering some higher-level functions. Features of the library are divided into several layers, low level to high level:

  1. Functions that help to choose correct and optimal memory type based on intended usage of the memory.

    - Required or preferred traits of the memory are expressed using higher-level description comparing to Vulkan flags.

  2. Functions that allocate memory blocks, reserve and return parts of them (`VkDeviceMemory` + offset + size) to the user.

    - Library keeps track of allocated memory blocks, used and unused ranges inside them, finds best matching unused ranges for new allocations, takes all the rules of alignment and buffer/image granularity into consideration.

  3. Functions that can create an image/buffer, allocate memory for it and bind them together - all in one call.

Additional features:

Skip navigation links

Copyright LWJGL. All Rights Reserved. License terms.