pyglet 中的高 DPI 视网膜 windows

HighDPI retina windows in pyglet

有没有办法在 pyglet 中创建视网膜 window?

默认 pyglet.window.Window() 在我的视网膜屏幕上创建了一个模糊的 window。 pyglet 中是否有设置,或者我是否必须深入了解 Open GL 管道才能执行此操作?

看来 pyglet 1.3 不支持 Retina 显示器。不管 pyglet window doc 怎么说,window.get_size() 方法 returns points 而不是 pixels。这是 Apple 设计高分辨率内容的方式所带来的问题。

Apple 信息:

您可能无法使用 setWantsBestResolutionOpenGLSurface 参数。

所以最好的选择是 将 glViewport 中使用的大小加倍。并且按照这条路径,还将 FBO 缓冲区、纹理和位置的大小 (2x*2y = 4*x*y) 加倍。