1

これは問題のあるコードです:

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に到達しました。印刷物によって出力されたサンプル座標を取得し、まったく同じテクスチャを使用して、ここに示す最初の線の上の4分の1の線を描画しました。

4

1 に答える 1

3

glVertex2f 呼び出しは 3 つしかありませんが、4 つあるはずです (GL_QUADS 内)。4 つの glTexCoord2f があるため、これはコード内で type-o でなければなりません。

于 2012-06-10T20:48:11.597 に答える