glfwGetWindowSize和glfwGetFramebufferSize有什么区别?

时间:2017-06-23 10:51:53

标签: opengl glfw

我正在学习opengl,我正在使用glfw库。我试图理解文档的含义是屏幕坐标和窗口的帧缓冲。因此,我记录了这两个函数的宽度和高度输出,但它们彼此相同。

所以我不太确定glfwGetWindowSize和glfwGetFramebufferSize之间有什么区别。

另外,我是否可以澄清帧缓冲区大小与屏幕坐标中窗口大小的区别? (这两个大小都在文档中提到但没有解释。此外,这两个大小分别对应于glfwGetFramebufferSize和glfwGetWindowSize)。

1 个答案:

答案 0 :(得分:5)

GLFW解释了文档herehere中的两个坐标系。

简而言之,窗口坐标相对于监视器和/或窗口,并且以不一定对应于真实屏幕像素的人工单元给出。激活dpi缩放时尤其如此(例如,在具有视网膜显示的Mac上)。

与窗口坐标相比,帧缓冲区大小以像素为单位,以匹配glViewport的OpenGL要求。

注意,在某些系统上,窗口坐标和像素坐标可以相同,但不一定如此。