-
Notifications
You must be signed in to change notification settings - Fork 2.4k
Closed
Milestone
Description
Here is a repro :
#include <SDL3/SDL.h>
#include <SDL3/SDL_main.h>
#include <SDL3_image/SDL_image.h>
int main(int argc, char* argv[])
{
SDL_Window* window;
SDL_Renderer* renderer;
SDL_Init(SDL_INIT_VIDEO);
SDL_CreateWindowAndRenderer("test", 1920, 1080, SDL_WINDOW_RESIZABLE, &window, &renderer);
SDL_SetRenderLogicalPresentation(renderer, 1920, 1080, SDL_LOGICAL_PRESENTATION_LETTERBOX);
SDL_Texture* texture = IMG_LoadTexture(renderer, "image.png");
double rotation = 0.0;
SDL_FRect rect = {100.0f, 100.0f, texture->w, texture->h};
while (true)
{
rotation += 0.5;
SDL_Event event;
while (SDL_PollEvent(&event))
{
if (event.type == SDL_EVENT_QUIT) { return 0; }
}
SDL_SetRenderDrawColor(renderer, 0, 0, 0, 255);
SDL_RenderClear(renderer);
SDL_SetRenderDrawColor(renderer, 255, 100, 100, 255);
SDL_RenderFillRect(renderer, &rect);
SDL_RenderTextureRotated(renderer, texture, NULL, &rect, rotation, NULL, SDL_FLIP_NONE);
SDL_RenderPresent(renderer);
SDL_Delay(16);
}
}
SDL_RENDER_DRIVER=opengl ./main
Renders fine
SDL_RENDER_DRIVER=software ./main
Rotating image drifts away when window is resized
