我有以下变量:
- 兴趣点,即要聚焦的位置(以像素为单位)的位置(x,y)。
- 屏幕宽度,高度是窗口的尺寸。
- 缩放级别,设置相机的缩放级别。
这是我到目前为止的代码。
void Zoom(int pointOfInterestX,int pointOfInterstY,int screenWidth,
int screenHeight,int zoomLevel)
{
glScalef(1,1,1);
glTranslatef( (pointOfInterestX/2) - (screenWidth/2), (pointOfInterestY/2) - (screenHeight/2),0);
glScalef(zoomLevel,zoomLevel,1);
}
我想做放大/缩小,但将兴趣点保持在屏幕中间。但到目前为止,我所有的尝试都失败了。