【发布时间】: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 - 对不起,如果我的文字看起来很苛刻,那不是故意的,谢谢! :)