【发布时间】:2018-03-15 14:33:38
【问题描述】:
有没有办法在 pyglet 中创建一个视网膜窗口?
默认的pyglet.window.Window() 在我的视网膜屏幕上创建了一个模糊的窗口。 pyglet 中是否有设置,还是我必须深入了解 Open GL 管道才能执行此操作?
【问题讨论】:
标签: python opengl retina-display pyglet highdpi
有没有办法在 pyglet 中创建一个视网膜窗口?
默认的pyglet.window.Window() 在我的视网膜屏幕上创建了一个模糊的窗口。 pyglet 中是否有设置,还是我必须深入了解 Open GL 管道才能执行此操作?
【问题讨论】:
标签: python opengl retina-display pyglet highdpi
似乎 pyglet 1.3 不知道 Retina 显示器。尽管pyglet window doc 说了什么,window.get_size() 方法返回 points 而不是 pixels。这是 Apple 设计高分辨率产品的方式所带来的问题。
苹果信息:
您可能无法使用setWantsBestResolutionOpenGLSurface 参数。
所以你最好的选择是将 glViewport 使用的尺寸加倍。并且按照这条路径,FBO 缓冲区、纹理和位置的大小也加倍 (2x*2y = 4*x*y)。
【讨论】: