mirror of
https://codeberg.org/nammenam/matrisen.git
synced 2026-08-21 06:55:48 +00:00
No description
- Zig 92%
- Slang 4.3%
- C 3.4%
- Shell 0.3%
| Filename | Latest commit message | Latest commit date |
|---|---|---|
| docs | ||
| examples | ||
| screenshots | ||
| scripts | ||
| softwarerenderer | ||
| src | ||
| .gitignore | ||
| build.zig | ||
| build.zig.zon | ||
| LICENSE | ||
| README.md | ||
| TODO.md | ||
█▄ ▄█ ▄▀▀▄ ▀▀█▀▀ █▀▀▄ █ ▄▀▀▀ █▀▀▀ █▄ █
█ ▀ █ █▀▀█ █ █▀▀▄ █ ▀▀▄ █▀▀ █ ▀▄█
▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀ ▀▀▀ ▀▀▀▀ ▀ ▀
The goal of this project is to provide a graphics playground, it is meant to be a tool for visualising ideas and to generate beautiful but also simple graphics. Target applications are visualising mathemathics, physics or engineering problems, though it is not limited to only these fields and can be used for anything graphics related. Future goals for this project is to export useful graphics in useful formats for plotting, illustrating and animation tasks
Quick Start
zig build example
/// Event loop
while (window.isOpen()) {
window.pollEvents();
// 2. Start the render sequence. This handles swapchain acquisition,
// waiting on fences, and returning a ready-to-use command buffer wrapper.
Frame* frame = core.beginFrame();
if (!frame) continue; // Handle minimized windows or swapchain rebuilds
// 3. User interacts with the FRAME, not the global core
frame.beginRendering(clearColor); // Wraps VK_KHR_dynamic_rendering
frame.bindShader(myCustomShader);
frame.pushConstants(&myData, sizeof(myData));
// Draw calls (direct or indirect)
frame.drawIndirect(indirectBuffer, drawCount);
frame.endRendering();
// 4. Submit to GPU and present to screen
core.endFrame(frame);
}
