NYXGFX/README.md
2026-08-14 00:23:58 +00:00

48 lines
1.4 KiB
Markdown

# NYXGFX
Low cortisol crossplatform RHI (Rendering Hardware Interface)
## Backends
- [x] Vulkan
- [ ] OpenGL
- [ ] DX12
## Features
- Fire and forget
- Dead simple + Performance + Flexible
- Generational Handles
- Auto managed
- No hidden control flow
- No hidden memory allocations
- No preprocessor, no macros
## Architecture
```text
examples/simple/simple.zig
src/gfx.zig
└─ Selected Backend
src/rhi/root.zig
└─ Common / Handles / Configs
src/rhi/vulkan/vulkan.zig
└─ Vulkan Backend / RHI
src/rhi/vulkan/resource.zig
└─ Adapter / Device / Shader
```
## API
| Function | Description |
| ------------------- | ----------------------------------------------------------------- |
| `makeX(...)` | Creates an RHI resource and returns its handle |
| `deleteX(handle)` | Releases the resource and invalidates the handle |
| `releaseX(handle)` | Releases the resource but keeps the handle valid |
| `getXInfo(handle)` | Returns backend-independent information about the resource |
| `getRawX(handle)` | Returns backend-specific raw GPU handle |
| `getRawFrame()` | Returns backend-specific raw GPU frame resources |
## Examples
- ```zig build run-simple```
- ```zig build run-3D```
- ```zig build run-imgui```