小编Jac*_*eng的帖子

为什么视网膜屏幕坐标值是像素值的两倍

我的电脑是配备13英寸视网膜屏幕的Mac专业版.屏幕分辨率为1280*800(默认).

使用以下代码:

gWindow = glfwCreateWindow(800, 600, "OpenGL Tutorial", NULL, NULL);

//case 1
glViewport(0,0,1600,1200);
//case 2
glViewport(0,0,800,600);
Run Code Online (Sandbox Code Playgroud)

情况1导致适合窗口的三角形.

情况2导致三角形的大小是窗口大小的1/4.

视口的一半:

在此输入图像描述

GLFW文档显示以下内容(从此处):

虽然窗口的大小是以屏幕坐标测量的,但OpenGL与像素一起使用.例如,传入glViewport的大小应以像素为单位.在某些机器上,屏幕坐标和像素是相同的,但在其他机器上它们不会.还有第二组函数用于检索窗口的帧缓冲区的大小(以像素为单位).

为什么我的视网膜屏幕坐标值是像素值的两倍?

opengl resolution retina-display

6
推荐指数
1
解决办法
1695
查看次数

标签 统计

opengl ×1

resolution ×1

retina-display ×1