JetStre4m
Lieutenant
- Registriert
- Nov. 2007
- Beiträge
- 578
Hallo zusammen, ich versuche mich gerade in der 3D-Programmierung für Android.
Dazu habe ich ein kleines Programm geschrieben, welches ein 3D-Model lädt und anzeigt - in meinem Fall ein primitives Motorrad
Das ganze lässt sich auch wunderbar ausführen, das Model wird angezeigt - aber der "Körper" des Motorrades ist "durchsichtig" - wenn man von oben auf das Objekt blickt, sieht man das Hinterrad, obwohl es eigentlich unter dem "Körper" ist und somit verdeckt werden müsste.
ich initialisiere OpenGl mit folgendem Code:
Das Zeichnen selbst wird mit diesem Code durchgeführt:
So sieht das Bild von der Seite betrachtet aus:

...Und so schaut das Ganze von Vorne/Oben aus, wobei das schwarze Teil das Hinterrad ist, welches komplett verdeckt werden müsste:

Was mache ich hier falsch?
mfg,
JetStre4m
Dazu habe ich ein kleines Programm geschrieben, welches ein 3D-Model lädt und anzeigt - in meinem Fall ein primitives Motorrad
Das ganze lässt sich auch wunderbar ausführen, das Model wird angezeigt - aber der "Körper" des Motorrades ist "durchsichtig" - wenn man von oben auf das Objekt blickt, sieht man das Hinterrad, obwohl es eigentlich unter dem "Körper" ist und somit verdeckt werden müsste.
ich initialisiere OpenGl mit folgendem Code:
Code:
gl.glEnable(GL10.GL_CULL_FACE);
gl.glFrontFace(GL10.GL_CCW);
gl.glCullFace(GL10.GL_BACK);
gl.glEnableClientState(GL10.GL_VERTEX_ARRAY);
gl.glEnableClientState(GL10.GL_COLOR_ARRAY);
Das Zeichnen selbst wird mit diesem Code durchgeführt:
Code:
gl.glClearColor(1f,1f,1f,1f);
gl.glLoadIdentity();
gl.glClear(GL10.GL_COLOR_BUFFER_BIT);
gl.glRotatef(xAngle, 1.0f, 0.0f, 0.0f); //X
gl.glRotatef(yAngle, 0.0f, 1.0f, 0.0f); //Y
gl.glRotatef(zAngle, 0.0f, 0.0f, 1.0f); //Z
gl.glVertexPointer(3, GL10.GL_FLOAT, 0, _vertexBuffer);
gl.glColorPointer(4, GL10.GL_FLOAT, 0, _colorBuffer);
gl.glDrawElements(GL10.GL_TRIANGLES, _nrOfFaces*3, GL10.GL_UNSIGNED_SHORT, _indexBuffer);
So sieht das Bild von der Seite betrachtet aus:
...Und so schaut das Ganze von Vorne/Oben aus, wobei das schwarze Teil das Hinterrad ist, welches komplett verdeckt werden müsste:
Was mache ich hier falsch?
mfg,
JetStre4m
Zuletzt bearbeitet: