haiku libraryΒΆ

Welcome to this documentation page ! haiku is a small graphics library used for real-time rendering research prototypes.

The ideal goal of this library is to provide a platform-independent, efficient public API for rendering and parallel computing. The key idea is to define the target platform and compile with the appropriate flags without having to change the application code (at least as far as possible). These were the objectives that motivated certain decisions in terms of design and technology:

  • The public API is defined in C99 (to enable future interoperability)

  • Separate the different backends (application, graphics) as much as possible to facilitate future implementation changes

  • Start with a Vulkan implementation to guide API choices from a low-level API

  • Subsequently integrate the WebGPU graphics API and an html backend to enable applications to be deployed in the browser.

Remaining milestones for the version 1.0.0

  • Application: GLFW (linux/windows/macos)

  • Application: HTML5 (browser)

  • Graphics: Vulkan 1.2 (linux/windows)

  • Graphics: MoltenVK (macos)

  • Graphics: WebGPU (desktop/browser)

Please feel free to contact me by e-mail to give any feedback you may have to help improve this project.

To get started, you can find tutorials here.