SDL重置glViewport

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

但是,如果我创建了设置了SDL_WINDOW_ALLOW_HIGHDPI标志的窗口,则无论何时移动我的窗口(在接收到SDL_WINDOWEVENT_MOVED事件后),SDL都会将视口修改为窗口的全部大小,可以通过在事件期间调用SDL_GL_GetDrawableSize进行验证。

如果在创建窗口时未设置SDL_WINDOW_ALLOW_HIGHDPI ,则视口不会重置。 我确实认为这是一个错误,但通过SDL bugzilla找不到任何东西,所以我想问问任何人是否看过类似的行为。

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


只要做你应该做的事情:始终在绘制每一帧的开始处重新设置视口。 只要你想实现一个HUD,使用framebuffer对象或类似的东西,你必须设置视图(多次)来绘制每一帧。

链接地址: http://www.djcxy.com/p/67583.html

上一篇: SDL resetting glViewport

下一篇: CreateRenderer downgrades the OpenGL context, can it be prevented?