【问题标题】:How to find display scaling factor on retina/4k displays?如何在 Retina/4k 显示器上找到显示比例因子?
【发布时间】:2014-08-10 16:45:10
【问题描述】:

我有一个在缩放模式下运行的大型显示器,可以显示更大的文本。这种缩放不会报告给我的程序,这是一个使用 GLFW 进行窗口化的 OpenGL 应用程序。我所有的几何图形都是一半大小,偏移实际视口高度的一半。这是一组显示问题http://imgur.com/a/MDs1E 的图像。如何获得缩放值以便更正我的投影?

【问题讨论】:

  • 顺便说一句,将视口的宽度和高度乘以 2 可以解决问题,但我需要一种(跨平台)方法来确定缩放因子。
  • 如何确定视口大小?来自 GLFW 文档:“虽然窗口的大小以屏幕坐标测量,但 OpenGL 使用像素。例如,您传递给 glViewport 的大小应该以像素为单位,而不是屏幕坐标。在某些平台上,屏幕坐标和像素是“我认为这正是您在这里看到的。
  • 对于视口大小,我只是问 GLFW 窗口大小是多少。这就是问题所在 - GLFW 给了我屏幕坐标,而 glViewport 需要像素,这可能是也可能不是 GLFW 窗口大小的 2 倍。我不确定如何查询这个比例因子,因为它在 GLFW 和 OpenGL 之外。
  • 不,它不在 GLFW 的范围之内。忘了把linke加到上面的qutoe中,里面正好包含了查询适合glViewport的framebuffer像素大小需要的函数:GLFW window framebuffer size
  • @derhass - 对不起,如果我的文字看起来很苛刻,那不是故意的,谢谢! :)

标签: macos opengl glfw


【解决方案1】:

在使用与像素不匹配的窗口坐标的显示器上,您需要使用glfwGetFramebufferSize 来获取窗口的实际大小(以像素为单位)。然后将这些值传递给 glViewport。

【讨论】:

    猜你喜欢
    • 2020-03-17
    • 2021-05-20
    • 1970-01-01
    • 2016-11-04
    • 1970-01-01
    • 2017-08-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多