2012-06-10 163 views
1

這是有問題的代碼:Opengl的四邊形不渲染

glColor3f(1,1,1); 
for(int x=0;x<125;x++){ 
    for(int y=0;y<10;y++){ 

     int p = levelArray[x][y]; 
     if(p == 0){ 
      break; 
     } 
     Texture t = pieces[1]; 
     t.bind(); 
     System.out.println(x*64+"|"+y*64 + " :: "+((x*64)+t.getTextureWidth())+"|"+((y*64)+t.getTextureHeight())); 
     glBegin(GL_QUADS); 
      glTexCoord2f(0,0); 
      glVertex2f(x*64,y*64); 
      glTexCoord2f(1,0); 
      glVertex2f((x*64)+t.getTextureWidth(),y*64); 
      glTexCoord2f(1,1); 
      glVertex2f((x*64)+t.getTextureWidth(),(y*64)+t.getTextureHeight()); 
      glTexCoord2f(0,1); 
     glEnd();  
    } 
} 

我得到一個打印出來,所以我到達在glBegin,我已經採取樣品座標由打印輸出,並得出四線之上我的第一個顯示在這裏,使用完全相同的紋理,並呈現。

回答

3

你只有三個glVertex2f調用,你應該有四個(在GL_QUADS內)。 你有四個glTexCoord2f,所以它必須是你的代碼中的一個type-o。

+0

男人我是白癡,歡呼! –