我一直在玩SDL 2.0,但搜索后我没有在网上找到任何关于如何支持视网膜macs的信息。使用以下代码创建窗口时。
gWindow = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED,
SDL_WINDOWPOS_UNDEFINED, 500, 500, SDL_WINDOW_SHOWN);
它创建了一个实际大小为1000 * 1000的窗口。这不是一个真正的问题,因为它是应用程序应该如何使用hidpi屏幕工作。但是,在加载图像时,我似乎无法找到一种方法来加载视网膜屏幕大2倍的图像,而且我的图像看起来总是模糊不清。
答案 0 :(得分:16)
当前版本的SDL2支持视网膜。
要创建视网膜窗口,请将标记SDL_WINDOW_ALLOW_HIGHDPI
传递到SDL_CreateWindow()
。
调整大小事件后,您可以使用API调用SDL_GL_GetDrawableSize()
检查实际缓冲区分辨率。
答案 1 :(得分:0)
目前,SDL不支持Mac上的视网膜显示(或Windows机器上的高DPI显示)。
有关如何最好地添加这些功能的讨论,以及SDL的错误跟踪器上的一些原型补丁,在这里:https://bugzilla.libsdl.org/show_bug.cgi?id=1934
据推测,我们将在未来的SDL2版本中看到官方的视网膜支持。或者,如果您愿意编译自己的SDL库,那些补丁对我有用。