SDL 2.0视网膜mac

时间:2013-08-31 05:34:47

标签: macos sdl retina-display

我一直在玩SDL 2.0,但搜索后我没有在网上找到任何关于如何支持视网膜macs的信息。使用以下代码创建窗口时。

gWindow = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED,
          SDL_WINDOWPOS_UNDEFINED, 500, 500, SDL_WINDOW_SHOWN);

它创建了一个实际大小为1000 * 1000的窗口。这不是一个真正的问题,因为它是应用程序应该如何使用hidpi屏幕工作。但是,在加载图像时,我似乎无法找到一种方法来加载视网膜屏幕大2倍的图像,而且我的图像看起来总是模糊不清。

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库,那些补丁对我有用。