2012-09-07 50 views
1

我畫了一些四像這樣用OpenGL:OpenGL和glScalef

_______ _______ 
|  ||  | 
|  ||  | 
|  ||  | 
|_______||_______| 

目前我畫使用firstQuad.pos.x +寬度時,我想在中心擴展他們在計算manually.but第二四點,我想知道是正確的方式來使用計算值,或逐一使用glTranslatef,然後glTranslatef到他們的中心,然後使用glScalef來縮放他們?或如何做到這一點?

回答

2

除非您根據您的轉換更新quad的位置firstQuad,否則您將不得不使用您所描述的GL矩陣處理函數。我假設你在這裏使用傳統GL(2.1及以上版本),現代版本不再提供矩陣操作功能。

您必須瞭解的是,必須將GL transformation視爲將用於進一步繪製調用的基礎和原點的轉換,直到重置爲glPopMatrix()的先前狀態。

+0

謝謝,我正在使用openGL ES 1我猜,因爲我現在不使用着色器,問題是當在x:0 y:55位置的quad時,我writeCode:glTranslatef(0,55); glScalef(值,值,1.0);(值每秒增加.1),它只是從0.0增加到0.55,我可以看到它從0,0移動到了0.55,這不是我想要的,我希望它在0,55的位置放大,怎麼做? – user1051003