Opengl Quads не рендерится

Это проблемный код:

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, я взял образец координат, выведенный печатью, и нарисовал этот четырехугольник линией над моей первой, показанной здесь, используя точно такую ​​​​же текстуру, и она отображается.


person Daniel Messias    schedule 10.06.2012    source источник


Ответы (1)


У вас есть только три вызова glVertex2f, а должно быть четыре (внутри GL_QUADS). У вас есть четыре glTexCoord2f, поэтому в вашем коде это должен быть тип-о.

person Petter Nordlander    schedule 10.06.2012