传给glutMouseFunc()的(x,y)是左上至右下的坐标:x表示离屏幕左边缘的像素数,y表示离屏幕上边缘的像素数,如图:
![](http://43.135.142.98/wp-content/uploads/2020/09/图片-30.png)
而glReadPixels()采用的坐标系统则与此不同,它是从左下到右上的。也就是说,x表示离屏幕左边缘的像素数,y表示离屏幕下边缘的像素数,如图:
![](http://43.135.142.98/wp-content/uploads/2020/09/图片-31.png)
所以,如果想把glutMouseFunc()取得的坐标传给glReadPixels(),就需要做一个变换:
y=Height-y-1
渺渺苍天,星光烁烁,美丽家园球外乡
传给glutMouseFunc()的(x,y)是左上至右下的坐标:x表示离屏幕左边缘的像素数,y表示离屏幕上边缘的像素数,如图:
而glReadPixels()采用的坐标系统则与此不同,它是从左下到右上的。也就是说,x表示离屏幕左边缘的像素数,y表示离屏幕下边缘的像素数,如图:
所以,如果想把glutMouseFunc()取得的坐标传给glReadPixels(),就需要做一个变换:
y=Height-y-1