You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -219,22 +219,6 @@ The caller sets `stage`, `entrypoint`, and binding counts; `code`, `code_size`,
219
219
220
220
All `SDL_GPU*` resources (buffers, textures, pipelines, samplers, shaders, transfer buffers, fences) are released through the corresponding `RenderDevice::release*` method, never through `release()`.
221
221
222
-
### Drawable — Lightweight Frame Hooks
223
-
224
-
Use `Drawable` (a plain C struct, not a class) to participate in the frame loop without subclassing `RenderDevice`:
225
-
226
-
```c
227
-
$(device, addDrawable, &(Drawable) {
228
-
.deviceDidReset = myAllocGPUResources,
229
-
.deviceWillReset = myFreeGPUResources,
230
-
.transfer = myUploadData, // called when isDirty == true
231
-
.submit = myDrawCommands,
232
-
.data = myContext,
233
-
});
234
-
```
235
-
236
-
Set `drawable->isDirty = true` to trigger `transfer()` on the next frame; it is reset to `false` automatically after `transfer()` returns.
[ObjectivelyGPU](https://github.com/jdolan/ObjectivelyGPU) is an object-oriented wrapper around [SDL3](https://libsdl.org)'s GPU API for [GNU C](https://www.gnu.org/software/gnu-c-manual/). It builds on [Objectively](https://github.com/jdolan/Objectively) to deliver a clean, idiomatic C API for modern GPU programming.
5
+
6
+
## Features
7
+
8
+
-**RenderDevice** — device creation, buffer/texture/sampler allocation, and shader pipeline compilation
9
+
-**CommandBuffer** — render, compute, and copy command recording
0 commit comments