From ee99e5f0f2ff4aa56735b7516969fa48aa14558c Mon Sep 17 00:00:00 2001 From: Timothy Hoyt <72295021+TimothyHoytBSME@users.noreply.github.com> Date: Sun, 16 Feb 2025 14:15:58 -0600 Subject: [PATCH] [Renderers/SDL2] Opengl, antialiasing, vsync, alpha blending (#264) --- examples/SDL2-video-demo/main.c | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) diff --git a/examples/SDL2-video-demo/main.c b/examples/SDL2-video-demo/main.c index 4e03b12..cc2d2f7 100644 --- a/examples/SDL2-video-demo/main.c +++ b/examples/SDL2-video-demo/main.c @@ -48,9 +48,15 @@ int main(int argc, char *argv[]) { SDL_Window *window = NULL; SDL_Renderer *renderer = NULL; - if (SDL_CreateWindowAndRenderer(800, 600, SDL_WINDOW_RESIZABLE, &window, &renderer) < 0) { - fprintf(stderr, "Error: could not create window and renderer: %s", SDL_GetError()); - } + + SDL_SetHint(SDL_HINT_RENDER_DRIVER, "opengl"); //for antialiasing + window = SDL_CreateWindow("SDL", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 800, 600, SDL_WINDOW_SHOWN | SDL_WINDOW_RESIZABLE); + SDL_GL_SetAttribute(SDL_GL_MULTISAMPLESAMPLES, 4); //for antialiasing + + bool enableVsync = false; + if(enableVsync){ renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED | SDL_RENDERER_PRESENTVSYNC);} //"SDL_RENDERER_ACCELERATED" is for antialiasing + else{renderer = SDL_CreateRenderer(window, -1, SDL_RENDERER_ACCELERATED);} + SDL_SetRenderDrawBlendMode(renderer, SDL_BLENDMODE_BLEND); //for alpha blending uint64_t totalMemorySize = Clay_MinMemorySize(); Clay_Arena clayMemory = Clay_CreateArenaWithCapacityAndMemory(totalMemorySize, malloc(totalMemorySize));