這是我的問題,我有一個縮放點,這是未投影的鼠標位置。我也有一個「照相機基本上通過轉換X和Y我想要做的所有對象的實現縮放到鼠標的位置放大鼠標,考慮相機翻譯? (OpenGL)
心中已經試過這樣:
1. Find the mouse's x and y coordinates
2. Translate by (x,y,0) to put the origin at those coordinates
3. Scale by your desired vector (i,j,k)
4. Translate by (-x,-y,0) to put the origin back at the top left
但這並不因素翻譯的相機。
我怎樣才能正確地做到這一點。感謝
glTranslatef(controls.MainGlFrame.GetCameraX(),
controls.MainGlFrame.GetCameraY(),0);
glTranslatef(current.ScalePoint.x,current.ScalePoint.y,0);
glScalef(current.ScaleFactor,current.ScaleFactor,0);
glTranslatef(-current.ScalePoint.x,-current.ScalePoint.y,0);
我可能會被理解/得到這個錯誤的,但,而不是通過縮放所需的矢量(I,J,K )如你所說你試過翻譯z軸放大? – 2010-07-20 03:01:56
需要更多信息和清晰度。也許是源代碼? 「2.翻譯...」是指投影視圖矩陣轉換嗎?這是不是「影響相機翻譯的因素」?我猜這是二維正交視圖,是嗎? – Detmar 2010-07-20 03:09:08
沒有工作 – jmasterx 2010-07-20 03:09:16