我的电脑是配备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的大小应以像素为单位.在某些机器上,屏幕坐标和像素是相同的,但在其他机器上它们不会.还有第二组函数用于检索窗口的帧缓冲区的大小(以像素为单位).
为什么我的视网膜屏幕坐标值是像素值的两倍?