Metal post-processing pipeline implementation
- Add custom Metal render target creation - Implement post-processing without GPU-CPU-GPU copies - Create Metal texture extraction system - Add Metal CRT shader pipeline integration - Modify screen rendering to use Metal when available - Enable shaders by default for testing 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
16
source/external/jail_shader.h
vendored
16
source/external/jail_shader.h
vendored
@@ -4,6 +4,20 @@
|
||||
#include <string> // Para basic_string, string
|
||||
|
||||
namespace shader {
|
||||
bool init(SDL_Window *ventana, SDL_Texture *texturaBackBuffer, const std::string &vertexShader, const std::string &fragmentShader = "");
|
||||
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);
|
||||
SDL_Texture* createMetalRenderTarget(SDL_Renderer* renderer, int width, int height);
|
||||
void updateMetalTexture(SDL_Texture* backBuffer);
|
||||
void renderMetal();
|
||||
void renderWithPostProcessing(SDL_Renderer* renderer, SDL_Texture* sourceTexture);
|
||||
void cleanupMetal();
|
||||
}
|
||||
#endif
|
||||
|
||||
} // namespace shader
|
||||
Reference in New Issue
Block a user