Изменение размера окна SDL без изменения размера содержимого - PullRequest
0 голосов
/ 04 октября 2019

Я пытаюсь изменить размер окна SDL. Я хочу изменить его размер, как область просмотра, а не изменять все содержимое внутри.

Чтобы проиллюстрировать, что я имею в виду:

Это мое исходное окно до изменения размера, размером 400x400

Это окно после изменения размера до 200x200

Текстура, которую я рисую в окне, была уменьшена до размеров нового окна. Я не хочу этогоМне нужно, чтобы текстура сохранила те же размеры, что и в начале, и просто нарисовала часть текстуры, которая видна в новом размере окна, , например, (красная область показывает исходную поверхность окна, прозрачныйобласть показывает измененную поверхность окна, которую я хочу)

Это функция, которую я использую для выполнения этой задачи:

void update_window_size(SDL_Window* window, int w, int h)
{
    SDL_SetWindowSize(window, w, h);
    glViewport(0, 0, w, h);
}

Я не смог найти ничего в библиотеке SDL, кромеSDL_SetWindowSize чтобы помочь мне в этом. Я надеюсь, что смогу сделать это без вызова OpenGL, так как ни один из моего другого кода не нужен. Но я также попытался позвонить glViewport безуспешно.

...