Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Macos SDL2.0视网膜mac_Macos_Sdl_Retina Display - Fatal编程技术网

Macos SDL2.0视网膜mac

Macos SDL2.0视网膜mac,macos,sdl,retina-display,Macos,Sdl,Retina Display,我一直在玩SDL2.0,但在搜索之后,我没有在网上找到任何关于如何支持视网膜Mac的信息。使用以下代码创建窗口时 gWindow = SDL_CreateWindow("SDL Tutorial", SDL_WINDOWPOS_UNDEFINED, SDL_WINDOWPOS_UNDEFINED, 500, 500, SDL_WINDOW_SHOWN); 它创建了一个实际大小为1000*1000的窗口。这不是一个真正的问题,因为这是应用程序应该如何使用hidpi屏幕工作的问

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

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

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

目前,SDL不支持Mac电脑上的视网膜显示器(或Windows机器上的高DPI显示器)

这里讨论了如何最好地添加这些功能,以及SDL的bug tracker上的一些原型补丁:


我们可能会在SDL2的未来版本中看到官方的视网膜支持。或者,如果您愿意编译自己的SDL库,那么这些补丁对我很有用。

SDL2的当前版本支持retina

要创建视网膜窗口,将标志
SDL\u window\u ALLOW\u HIGHDPI
传递到
SDL\u CreateWindow()

调整大小事件后,可以使用API调用
SDL\u GL\u GetDrawableSize()
检查实际缓冲区分辨率