A minimally configurable wrapper around the creation of Vulkan rendering pipelines.
Proposed: Work in Progress
Much of Vulkan’s infamous 800+ lines of code to render a triangle is hardware selection and configuration. The C++ API herein minimizes that boilerplate by allowing the programmer to just specify requirements.
The complete Vulkan API is available for rendering; it is not wrapped or simplified.
auto renderer = forge::renderer([ ] (auto& with) {
// ...
});
// the rendering loop is then just:
renderer([&] (VkDevice device, VkCommandBuffer command_buffer) {
});
Text renderering is based upon a demo by Dávid Kocsis
Text is rendered directly from font outlines.
- “Lorem Ipsum” rendering
- Dynamic text rendering
- Fallback font handling
As the text renderer is extracting Bezier curves from the fonts, directly rendering Bezier curves should be relatively easy to add.
- bezier API
- rectangle API
- line API
- squircle API