OpenGL屏幕像素坐标问题

传给glutMouseFunc()的(x,y)是左上至右下的坐标:x表示离屏幕左边缘的像素数,y表示离屏幕上边缘的像素数,如图:

而glReadPixels()采用的坐标系统则与此不同,它是从左下到右上的。也就是说,x表示离屏幕左边缘的像素数,y表示离屏幕下边缘的像素数,如图:

所以,如果想把glutMouseFunc()取得的坐标传给glReadPixels(),就需要做一个变换:

y=Height-y-1

发表评论

电子邮件地址不会被公开。 必填项已用*标注