Hallo
Ich versuche gerade in Java einen Würfel darzustellen. Hab es schon geschafft, das er 4 Kanten besitzt. Leider bekomme ich keinen Boden und Deckel drauf. Somit kann man also noch schön in der Würfel kucken.
Desweiteren wird nur eine Textur angezeigt, die aber auch noch verkehrt herum ist, wenn ich das komplette Spielfeld drehe.
Hier ist mal der Code dazu, wo ich gerade mit dem Würfel beschäftigt bin. Wäre echt super, wenn mir wer mal kurz helfen kann dabei.
Ich versuche gerade in Java einen Würfel darzustellen. Hab es schon geschafft, das er 4 Kanten besitzt. Leider bekomme ich keinen Boden und Deckel drauf. Somit kann man also noch schön in der Würfel kucken.
Desweiteren wird nur eine Textur angezeigt, die aber auch noch verkehrt herum ist, wenn ich das komplette Spielfeld drehe.
Hier ist mal der Code dazu, wo ich gerade mit dem Würfel beschäftigt bin. Wäre echt super, wenn mir wer mal kurz helfen kann dabei.
Code:
private void drawWuerfel(GL gl)
{
float a = 1.0f; // halbe Spielfeldbreite
float y=2.5f;
gl.glTexEnvi(GL.GL_TEXTURE_ENV, GL.GL_TEXTURE_ENV_MODE, GL.GL_REPLACE);
TextureCoords coords_1 = _texWuerfelEins.getImageTexCoords();
TextureCoords coords_2 = _texWuerfelZwei.getImageTexCoords();
TextureCoords coords_3 = _texWuerfelDrei.getImageTexCoords();
TextureCoords coords_4 = _texWuerfelVier.getImageTexCoords();
TextureCoords coords_5 = _texWuerfelFuenf.getImageTexCoords();
TextureCoords coords_6 = _texWuerfelSechs.getImageTexCoords();
_texWuerfelEins.enable();
_texWuerfelEins.bind(); // bindet die Textur ein..
gl.glBegin(GL.GL_QUADS); // Fange an Quadrate zu zeichnen
gl.glTexCoord2f(coords_1.left(), coords_1.bottom());
gl.glVertex3f(-0.5f, y, -0.5f); // links und eine Einheit nach oben (oben links)
gl.glTexCoord2f(coords_1.right(), coords_1.bottom());
gl.glVertex3f(0.5f, y, -0.5f); // rechts und eine Einheit runter (unten rechts)
gl.glTexCoord2f(coords_1.right(), coords_1.top());
gl.glVertex3f(0.5f, y+1, -0.5f); // links und eine Einheit nach unten (unten links)
gl.glTexCoord2f(coords_1.left(), coords_1.top());
gl.glVertex3f(-0.5f, y+1, -0.5f); // rechts und eine Einheit nach oben (oben rechts)
gl.glEnd(); // Fertig mit Quadraten zeichnen
_texWuerfelEins.disable();
_texWuerfelZwei.enable();
_texWuerfelZwei.bind();
gl.glBegin(GL.GL_QUADS); // Fange an Quadrate zu zeichnen
gl.glTexCoord2f(coords_2.left(), coords_2.top());
gl.glVertex3f(-0.5f, y, 0.5f);
gl.glTexCoord2f(coords_2.left(), coords_2.top());
gl.glVertex3f(0.5f, y, 0.5f);
gl.glTexCoord2f(coords_2.left(), coords_2.top());
gl.glVertex3f(0.5f, y+1, 0.5f);
gl.glTexCoord2f(coords_2.left(), coords_2.top());
gl.glVertex3f(-0.5f, y+1, 0.5f);
gl.glEnd(); // Fertig mit Quadraten zeichnen
_texWuerfelZwei.disable();
_texWuerfelDrei.enable();
_texWuerfelDrei.bind();
gl.glBegin(GL.GL_QUADS); // Fange an Quadrate zu zeichnen
gl.glTexCoord2f(coords_3.left(), coords_3.top());
gl.glVertex3f(0.5f, y, 0.5f);
gl.glTexCoord2f(coords_3.left(), coords_3.top());
gl.glVertex3f(0.5f, y, -0.5f);
gl.glTexCoord2f(coords_3.left(), coords_3.top());
gl.glVertex3f(0.5f, y+1, -0.5f);
gl.glTexCoord2f(coords_3.left(), coords_3.top());
gl.glVertex3f(0.5f, y+1, 0.5f);
gl.glEnd(); // Fertig mit Quadraten zeichnen
_texWuerfelDrei.disable();
_texWuerfelVier.enable();
_texWuerfelVier.bind();
gl.glBegin(GL.GL_QUADS); // Fange an Quadrate zu zeichnen
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y, 0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y, -0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y+1, -0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y+1, 0.5f);
gl.glEnd(); // Fertig mit Quadraten zeichnen
_texWuerfelVier.disable();
_texWuerfelFuenf.enable();
_texWuerfelFuenf.bind();
gl.glBegin(GL.GL_QUADS); // Fange an Quadrate zu zeichnen
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y, 0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y, -0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y+1, -0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y+1, 0.5f);
gl.glEnd(); // Fertig mit Quadraten zeichnen
_texWuerfelFuenf.disable();
_texWuerfelSechs.enable();
_texWuerfelSechs.bind();
gl.glBegin(GL.GL_QUADS); // Fange an Quadrate zu zeichnen
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y, 0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y, -0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y+1, -0.5f);
gl.glTexCoord2f(coords_4.left(), coords_4.top());
gl.glVertex3f(-0.5f, y+1, 0.5f);
gl.glEnd(); // Fertig mit Quadraten zeichnen
_texWuerfelSechs.disable();
}