1 #ifndef BZ_RENDERER_RENDERER_H
2 #define BZ_RENDERER_RENDERER_H
4 #include <bz/memory/arena.h>
5 #include <bz/renderer/palette.h>
6 #include <bz/renderer/render_pass.h>
12 struct BZRendererConfiguration
{
16 size_t rendererHeight
;
19 BZRendererPaletteID palette
;
21 typedef struct BZRendererConfiguration BZRendererConfiguration
;
23 typedef struct BZRenderer BZRenderer
;
24 typedef BZRenderer
* BZRendererID
;
26 typedef struct BZRendererPass BZRendererPass
;
27 typedef BZRendererPass
* BZRendererPassID
;
29 extern BZRendererID
bzRendererInit(BZMemoryArenaID arena
, const BZRendererConfiguration
*configuration
, const char *title
);
30 extern void bzRendererTeardown(BZRendererID renderer
);
32 BZRendererPassID
bzRendererRegisterPass(BZRendererID renderer
, BZRenderPassID renderPass
);
33 extern void bzRendererUnregisterPass(BZRendererPassID rendererPass
);
35 extern void bzRendererBlit(BZRendererID renderer
);
36 extern void bzRendererVBlank(BZRendererID renderer
);