【问题标题】:SDL 2.0 retina macSDL 2.0 视网膜 mac
【发布时间】:2013-09-03 21:21:41
【问题描述】:

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

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

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

【问题讨论】:

    标签: macos sdl retina-display


    【解决方案1】:

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

    这里讨论了如何最好地添加这些功能,以及 SDL 的错误跟踪器上的一些原型补丁:https://bugzilla.libsdl.org/show_bug.cgi?id=1934

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

    【讨论】:

      【解决方案2】:

      当前版本的 SDL2 支持视网膜。

      要创建视网膜窗口,请将标志 SDL_WINDOW_ALLOW_HIGHDPI 传递给 SDL_CreateWindow()

      在调整大小事件之后,您可以通过 API 调用 SDL_GL_GetDrawableSize() 检查实际的缓冲区分辨率。

      【讨论】:

        猜你喜欢
        • 2018-12-09
        • 2014-03-19
        • 1970-01-01
        • 2013-02-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多