2012-01-03 133 views
0

我試圖在iOS中使用glTranslatef在OGLES中繪製圖像。我知道我可以使用UIPanGestureRecognizer獲得泛數量,但我不確定如何將變量應用於x和y變量。任何想法如何做到這一點或知道更好的方法來平移OpenGL ES 1.1中的圖像?如何平移2D OpenGL ES場景

如何IM設置了我的觀點:這

CGRect rect = view.bounds; 
glViewport(0, 0,rect.size.width,rect.size.height); 
glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); 
glOrthof(0,rect.size.width,-rect.size.height, 0, -1, 1) ; 
glMatrixMode(GL_MODELVIEW); 
glLoadIdentity();  
+0

取決於你想如何做到這一點。我通常會改變相機所在的位置。根據您使用的旋轉,如果您在渲染開始時執行glTranslatef,則所有內容都可能出現重擊。你如何設置你的相機? – nmjohn 2012-01-03 04:30:38

+0

其2D視圖,即時消息不做任何旋轉。 glTranslatef(0,0,0)將焦點放在圖像的中心 – jfisk 2012-01-03 04:38:41

+0

如果您只想在X平面中平移,可以使用glTranslate(xVal,0,0);你是否希望在這架飛機外面轉轉?你用什麼來設置你的視圖矩陣? – nmjohn 2012-01-03 04:42:28

回答

1
CGRect rect = view.bounds; 
glViewport(0, 0,rect.size.width,rect.size.height); 
glMatrixMode(GL_PROJECTION); 
glLoadIdentity(); 
glOrthof(xPan,rect.size.width + xPan,-rect.size.height + yPan, yPan, -1, 1) ; 
glMatrixMode(GL_MODELVIEW); 
glLoadIdentity();