glfwGetWindowSize 和 glfwGetFramebufferSize 有什么区别?

问题描述 投票:0回答:1

我正在学习 OpenGL,并且正在使用 GLFW 库。我试图理解文档中屏幕坐标和窗口帧缓冲区的含义。因此,我记录了这两个函数的宽度和高度输出,但它们是相同的。所以我不太确定

glfwGetWindowSize
glfwGetFramebufferSize
之间有什么区别。

另外,我可以澄清一下帧缓冲区大小和屏幕坐标中窗口大小之间的区别吗? (文档中提到了这两个尺寸,但没有解释。而且,这两个尺寸分别对应

glfwGetFramebufferSize
glfwGetWindowSize
)。

opengl glfw
1个回答
12
投票

GLFW 在文档这里这里中解释了这两个坐标系。

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

与窗口坐标相反,帧缓冲区大小以像素为单位给出,以便符合 OpenGL 的要求

glViewport

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

© www.soinside.com 2019 - 2024. All rights reserved.