Gast
2005-08-09, 19:37:58
Guten Abend.
Ich übe gerade ein wenig OpenGL und bin gerade dabei ein bisschen was mit TExturen zu experimentieren.
Bisher habe ich folgenden Code benutzt den ich im Internet gefunden habe:
glScalef(lx,ly,lz);
static GLfloat size = 1;
static GLfloat n[6][3] =
{
{-1.0, 0.0, 0.0}, // links
{0.0, 1.0, 0.0}, // oben
{1.0, 0.0, 0.0}, // rechts
{0.0, -1.0, 0.0}, // unten
{0.0, 0.0, 1.0}, // vorne
{0.0, 0.0, -1.0} // hinten
};
static GLint faces[6][4] =
{
{0, 1, 2, 3},
{3, 2, 6, 7},
{7, 6, 5, 4},
{4, 5, 1, 0},
{5, 6, 2, 1},
{7, 4, 0, 3}
};
GLfloat v[8][3];
GLint i;
v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
for(i = 5; i >= 0; i--)
{
glBegin(GL_QUADS);
glNormal3fv(&n[i][0]);
glVertex3fv(&v[faces[i][0]][0]);
glVertex3fv(&v[faces[i][1]][0]);
glVertex3fv(&v[faces[i][2]][0]);
glVertex3fv(&v[faces[i][3]][0]);
glEnd();
}
Nun fehlen da die Textur-Koordinaten. Ich finde im Netz jetzt aber nur Würfel mit Texturkooridnaten, wo dann das glNormal fehlt und somit die Beleuchtung nicht stimmt.
Ich kapiere den Code oben noch nicht ganz und würde gerne wissen was ich daran ändern muss das ich an alle Seiten eine Textur anbringen kann.
Vielen Dank für Hilfe. :)
Ich übe gerade ein wenig OpenGL und bin gerade dabei ein bisschen was mit TExturen zu experimentieren.
Bisher habe ich folgenden Code benutzt den ich im Internet gefunden habe:
glScalef(lx,ly,lz);
static GLfloat size = 1;
static GLfloat n[6][3] =
{
{-1.0, 0.0, 0.0}, // links
{0.0, 1.0, 0.0}, // oben
{1.0, 0.0, 0.0}, // rechts
{0.0, -1.0, 0.0}, // unten
{0.0, 0.0, 1.0}, // vorne
{0.0, 0.0, -1.0} // hinten
};
static GLint faces[6][4] =
{
{0, 1, 2, 3},
{3, 2, 6, 7},
{7, 6, 5, 4},
{4, 5, 1, 0},
{5, 6, 2, 1},
{7, 4, 0, 3}
};
GLfloat v[8][3];
GLint i;
v[0][0] = v[1][0] = v[2][0] = v[3][0] = -size / 2;
v[4][0] = v[5][0] = v[6][0] = v[7][0] = size / 2;
v[0][1] = v[1][1] = v[4][1] = v[5][1] = -size / 2;
v[2][1] = v[3][1] = v[6][1] = v[7][1] = size / 2;
v[0][2] = v[3][2] = v[4][2] = v[7][2] = -size / 2;
v[1][2] = v[2][2] = v[5][2] = v[6][2] = size / 2;
for(i = 5; i >= 0; i--)
{
glBegin(GL_QUADS);
glNormal3fv(&n[i][0]);
glVertex3fv(&v[faces[i][0]][0]);
glVertex3fv(&v[faces[i][1]][0]);
glVertex3fv(&v[faces[i][2]][0]);
glVertex3fv(&v[faces[i][3]][0]);
glEnd();
}
Nun fehlen da die Textur-Koordinaten. Ich finde im Netz jetzt aber nur Würfel mit Texturkooridnaten, wo dann das glNormal fehlt und somit die Beleuchtung nicht stimmt.
Ich kapiere den Code oben noch nicht ganz und würde gerne wissen was ich daran ändern muss das ich an alle Seiten eine Textur anbringen kann.
Vielen Dank für Hilfe. :)