#pragma once #include // Para SDL_Texture, SDL_Window #include // Para basic_string, string namespace shader { bool init(SDL_Window *ventana, SDL_Texture *texturaBackBuffer, const std::string &shaderSource, const std::string &fragmentShader = ""); void render(); void cleanup(); bool isUsingOpenGL(); #ifdef __APPLE__ namespace metal { bool initMetal(SDL_Window* window, SDL_Texture* backBuffer, const std::string& shaderFilename); void updateMetalTexture(SDL_Texture* backBuffer); void renderMetal(); void cleanupMetal(); } #endif } // namespace shader