SDL重置glViewport

时间:2016-05-05 08:22:51

标签: c++ opengl sdl sdl-2

我在使用SDL2和OpenGL的应用程序中测试支持多种分辨率。创建我的"信箱"功能我将glViewport设置为适当的值,一切正常。

但是,如果我创建设置了SDL_WINDOW_ALLOW_HIGHDPI标志的窗口,每当我移动窗口时(收到SDL_WINDOWEVENT_MOVED事件后),SDL会将视口修改为窗口的完整大小,这可以在活动期间致电SDL_GL_GetDrawableSize进行验证。

如果在创建窗口时未设置SDL_WINDOW_ALLOW_HIGHDPI,则不会重置视口。我相信这是一个bug,但是无法通过SDL bugzilla找到任何东西,所以我想问一下是否有人看到过类似的行为。

您可能需要使用视网膜MacBook Pro才能体验此行为。

1 个答案:

答案 0 :(得分:0)

无论如何都要做你应该做的事情:始终在绘制每一帧时重新/设置视口。只要您想要实现HUD,请使用帧缓冲对象或类似的东西来设置视口(多次)以绘制每个帧。