Macos 如何在视网膜/4k显示器上找到显示比例因子?

Macos 如何在视网膜/4k显示器上找到显示比例因子?,macos,opengl,glfw,Macos,Opengl,Glfw,我有一个大屏幕,在缩放模式下显示更大的文本。我的程序是一个使用GLFW进行窗口处理的OpenGL应用程序,但没有报告这种缩放。我的所有几何体大小为实际视口的一半,偏移高度为实际视口的一半。下面是一组显示问题的图像。如何获得缩放值以便校正投影?在使用与像素不匹配的窗口坐标的显示器上,需要使用获取窗口的实际大小(以像素为单位)。然后将这些值传递给glViewport。在使用与像素不匹配的窗口坐标的显示器上,需要使用以像素为单位获取窗口的实际大小。然后将这些值传递给glViewport。顺便说一句,将

我有一个大屏幕,在缩放模式下显示更大的文本。我的程序是一个使用GLFW进行窗口处理的OpenGL应用程序,但没有报告这种缩放。我的所有几何体大小为实际视口的一半,偏移高度为实际视口的一半。下面是一组显示问题的图像。如何获得缩放值以便校正投影?

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

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

顺便说一句,将我的视口的宽度和高度乘以2可以解决问题,但我需要一种跨平台的方法来确定比例因子。如何确定视口大小?来自GLFW文档:虽然窗口的大小是用屏幕坐标测量的,但OpenGL使用像素。例如,传入glViewport的大小应以像素为单位,而不是以屏幕坐标为单位。在某些平台上,屏幕坐标和像素是相同的,但在GLFW支持的所有平台上并非如此。还有第二组函数用于检索窗口帧缓冲区的大小(以像素为单位)。我想这正是你在这里看到的。对于视口大小,我只是问GLFW窗口大小是多少。这就是问题所在-GLFW给我屏幕坐标,glViewport获取像素,这可能是也可能不是GLFW窗口大小的2倍。我不知道如何查询这个比例因子,因为它不在GLFW和OpenGL的范围之内。不,它不在GLFW的范围之外。我忘了将链接添加到上面的qutoe,它正好包含查询适合glViewport的帧缓冲区像素大小所需的函数:@derhass-如果我的文本看起来很刺耳,很抱歉,这不是故意的,谢谢!:顺便说一句,将我的视口的宽度和高度乘以2可以解决问题,但我需要一种跨平台的方法来确定比例因子。如何确定视口大小?来自GLFW文档:虽然窗口的大小是用屏幕坐标测量的,但OpenGL使用像素。例如,传入glViewport的大小应以像素为单位,而不是以屏幕坐标为单位。在某些平台上,屏幕坐标和像素是相同的,但在GLFW支持的所有平台上并非如此。还有第二组函数用于检索窗口帧缓冲区的大小(以像素为单位)。我想这正是你在这里看到的。对于视口大小,我只是问GLFW窗口大小是多少。这就是问题所在-GLFW给我屏幕坐标,glViewport获取像素,这可能是也可能不是GLFW窗口大小的2倍。我不知道如何查询这个比例因子,因为它不在GLFW和OpenGL的范围之内。不,它不在GLFW的范围之外。我忘了将链接添加到上面的qutoe,它正好包含查询适合glViewport的帧缓冲区像素大小所需的函数:@derhass-如果我的文本看起来很刺耳,很抱歉,这不是故意的,谢谢!: