私は次の変数を持っています:
- 焦点を合わせる場所のピクセル単位の位置(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);
}
そして、ズームイン/ズームアウトを実行したいのですが、画面の中央に関心のあるポイントを保持します。しかし、これまでのところ、私の試みはすべて失敗しました。