Vulkan header generator, OOP-style API wrapper, and framework for Object Pascal, with a prospective Vulkan-based game engine.
PasVulkan is a Vulkan toolkit for Object Pascal that provides an auto-generated Vulkan header, an object-oriented API wrapper, and a framework for building high-performance graphics applications. It solves the problem of accessing Vulkan's low-level C API from Pascal by offering a modern, type-safe abstraction and cross-platform support.
Object Pascal developers (using FreePascal or Delphi) who need Vulkan support for game development, graphics-intensive applications, or cross-platform rendering projects.
Developers choose PasVulkan for its comprehensive, native Pascal implementation of Vulkan features, including memory management, texture loading, and font rendering, without relying on external C libraries. Its OOP design and cross-platform framework simplify Vulkan programming compared to raw API usage.
Vulkan header generator, OOP-style API wrapper, framework and prospective Vulkan-based game engine for Object Pascal
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
The vkxml2pas tool auto-generates Vulkan.pas bindings from official XML specs, ensuring always up-to-date API coverage without manual maintenance, as highlighted in the README.
Wraps Vulkan's C API in modern Pascal classes with generics and advanced records, simplifying memory management and resource handling through a red-black-tree memory manager and texture loaders.
Uses SDL2 for windowing to support Windows, Linux (X11/Wayland), and Android, with automatic swap chain recovery and surface handling for portability, per the features list.
Includes native Pascal implementations for texture loading (PNG, JPG, DDS), font rendering with signed distance fields, and sprite atlases, eliminating external dependencies.
Requires compiling a project manager first, specific FreePascal trunk or Delphi versions, and for Android, all cross-compilers must be installed at Google-prescribed default locations, making initialization cumbersome.
The application framework is single-window-only by design, forcing developers to use other frameworks like VCL/LCL for multi-window applications, as admitted in the README.
MoltenVK support for iOS/macOS is labeled untested, and some loaders like BMP are also untested, risking stability and reliability on those platforms.