#ifndef RENDER_CORE_H
#define RENDER_CORE_H

// NOTE(anton):
// The Render layer is an abstraction over whatever rendering backend is chosen.
// Right now I will only support D3D11.

//////////////////////////////////////////
//~ Backend asbtraction
//
r_function R_InitReceipt R_init(OS_InitReceipt os_init, OS_InitGfxReceipt os_gfx_init);
r_function R_Handle R_window_equip(OS_Handle window);
r_function void R_window_unequip(OS_Handle window, R_Handle window_equip);
r_function void R_shutdown();
r_function void R_frame_begin(void);
r_function void R_frame_end(void);
r_function void R_window_start(R_Handle window_equip, Vec2_S64 resolution);
r_function void R_window_submit(R_Handle window_equip, R_PassList *pass_list);
r_function void R_window_finish(R_Handle window_equip);
r_function R_Handle R_tex2d_font_atlas(Vec2_S64 size, U8 *data);

#endif /* RENDER_CORE_H */
