2011-03-16 159 views
0

我正在嘗試設置使用gl.glOrthof正投影...正投影在OpenGL

然而,這並不重要的價值觀我進入的功能,寬度和高度似乎得到不斷浮動值和他們不符合我的glOrthof屬性。

我surfaceChanged代碼:

gl.glViewport(0, 0, w, h); 
gl.glMatrixMode(GL10.GL_PROJECTION); 
gl.glLoadIdentity(); 
gl.glOrthof(0.0f, 10.0f, 10.0f, 0.0f, 0.0f, 1.0f); 

我的抽獎代碼:

gl.glClear(GL10.GL_COLOR_BUFFER_BIT | GL10.GL_DEPTH_BUFFER_BIT); 
gl.glBindTexture(GL10.GL_TEXTURE_2D, texture); 
((GL11Ext) gl).glDrawTexfOES(positionX, positionY, 0.0f, 1.0f, 1.0f); 

任何想法?告訴我你是否需要知道一些事情。

+0

我需要看到更多的bot代碼,特別是完整的繪圖功能。 – datenwolf 2011-03-16 15:37:44

+0

@datenwolf:添加了我的完整繪圖代碼。 – Curtain 2011-03-16 15:42:56

回答

2

glDrawTexfOES寬度和高度參數在的像素,因此代替

((GL11Ext) gl).glDrawTexfOES(positionX, positionY, 0.0f, 1.0f, 1.0f); 

應該使用

((GL11Ext) gl).glDrawTexfOES(positionX, positionY, 0.0f, texture_width, texture_height); 

的投影和模型視圖矩陣影響僅x的定位,y位置,不紋理縮放。選擇要使用的紋理部分使用裁剪矩形完成。

+0

謝謝你會試試這個。我會告訴你。 – Curtain 2011-03-16 15:56:33