// // Created by Vicente Ferrari Smith on 26.02.26. // #ifndef V_GRAPHICS_H #define V_GRAPHICS_H #ifdef __EMSCRIPTEN__ #include "webgpu/renderer.h" #elifdef __APPLE__ #include "metal/renderer.h" #elifdef _WIN32 #include "vulkan/init.h" #include "vulkan/renderer.h" #endif #ifdef __EMSCRIPTEN__ #include #else #include #endif #include #ifndef __EMSCRIPTEN__ #include #include inline Slang::ComPtr slangGlobalSession; inline Slang::ComPtr slangSession; #endif #include "sprite.h" void graphics_init(GLFWwindow *window); void graphics_deinit(); void begin_frame(); void end_frame(GLFWwindow *window); void submit_quad(); void submit_sprite(glm::vec2 pos, const sprite_t &sprite); void upload_texture( int w, int h, const void* pixels, Texture *texture); #endif //V_GRAPHICS_H