Я пытаюсь изменить размер окна 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
безуспешно.