Problem bei OpenGL. Es wird nicht alles gerendert.

  • 1 Antworten
  • Letztes Antwortdatum
A

Andi0310

Neues Mitglied
0
Hallo zusammen.
Ich habe ein kleines Problem, welches mir irgendwie die Birne weich macht.
Habe ein 2 Dimensionales Array erstellt, welches Koordinaten enthalten soll.
Code:
    private float[][] RestPosXY={
            { -.5f, 0f},
            { -.3f, 0f},
            {   0f, 0f},
            {  .3f, 0f},
            {  .5f, 0f},
            {  .6f, 0f}
    };

An diesen Koordinaten soll immer das gleiche Object gerendert werden.
Code:
        gl.glPushMatrix();
        for(byte z=0;z<6;z++)
        {
            gl.glTranslatef(RestPosXY[z][0],RestPosXY[z][1],0f);
            gl.glDrawArrays(gl.GL_TRIANGLES, 0, 3);
            gl.glDrawArrays(gl.GL_TRIANGLES, 3, 3);
        }
        gl.glPopMatrix();

Wie zusehen ist habe ich 6 Koords. erstellt und die for-Schleife auch auf 6 eingestellt.
Im Debuger erkenne ich, dass er die Schleife auch 6 mal durchläuft.
Dargestellt werden aber nur die ersten 4 Objecte.
Es ist egal wieviele Koordinaten ich im Array aufnehme und auch in der Schleife ergänze.
Es werden immer die letzten beiden Objecte nicht dargestellt.

Kann mir da jemand helfen ?

Danke.
 
Durch mehrere Variationen wie ich die die Koordinaten angeben kann bin ich darauf gekommen, dass das Array nicht das Problem ist.
Aus irgendeinem mir nicht verständlichen Grund kann das Object nur 4 mal dargestellt werden.
Ich brauche es aber 6 mal.
[doublepost=1478365622,1478364962][/doublepost]Problem gelöst.
Ich muss einfach nur Push- und PopMatrix in die Schleife integriere und nicht drumherum.
Jetzt funktioniert es.
Aber vieleicht kann mir jemand von euch erklären, warum er 4 Objecte angezeigt hat und nicht den Rest ?
Danke .
 

Ähnliche Themen

J
Antworten
5
Aufrufe
368
swa00
swa00
N
  • no1Ltan
Antworten
5
Aufrufe
419
swa00
swa00
AnnaBauer21
Antworten
7
Aufrufe
396
swa00
swa00
Zurück
Oben Unten