这是有问题的代码:
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,我已经获取了打印输出的样本坐标,并在此处显示的第一个上面的线上绘制了四边形,使用完全相同的纹理并渲染。
答案 0 :(得分:3)
您只有三个glVertex2f调用,其中您应该有四个(在GL_QUADS内)。 你有四个glTexCoord2f,所以这必须是代码中的type-o。