GL-Displayliste, Darstellung? nada..
-
alsoo..
Ich muss ja immer mehr programmieren, als ich will. Derzeit irgendwas in Richtung Textausgabe in openGL.
Ich mach mal nen Überflug über den relevanten Code (der mal wieder nicht auf dem PC liegt, mit dem ich grad hier im Forum sitze..)// Inputs //string st = "Hallo Weltchen!"; //int x = 100; y = 200; //int set = 1; glDisable(GL_DEPTH_TEST); glMatrixMode(GL_PROJECTION); glPushMatrix(); glLoadIdentity(); glMatrixMode(GL_MODELVIEW); glPushMatrix(); glLoadIdentity(); gluOrtho2D(0,0, this->resolution[0], this->resolution[1]); glBindTexture(GL_TEXTURE_2D, this->texture); glTranslated(x,y, 0); glListBase(base-32+(128 * set)); glCallLists(f.size(), GL_UNSIGNED_BYTE, f.c_str()); glMatrixMode (GL_MODELVIEW); glPopMatrix(); glMatrixMode (GL_PROJECTION); glPopMatrix(); glEnable(GL_DEPTH_TEST);Das Ganze ist eben ein Bitmap-Font. Aaaaber irgendwie zeigt er sich nicht.
Das Jonglieren der Matrizen um die Darstellung rührt daher, dass anschließend ggf. noch ein gluUnproject laufen soll.Auf jeden Fall weiß ich nicht, warum sich nichts zeigt.
Die Ladefunktion sieht in etwa so aus.
this->texture = createTexture(fontname); // funktioniert, wird auch für andere Texturen genutzt this->base = glGenLists(256); glBindTexture(GL_TEXTURE_2D, this->texture); for (loop=0; loop < 256; loop++) { cx = ((float)loop%16) / 16.0f; cy = ((float)loop/16) / 16.0f; glNewList(base + loop, GL_COMPILE); glBegin(GL_QUADS); glTexCoord2f (cx, 1 - cy - 0.0625f); glVertex2i(0,0,0); glTexCoord2f (cx + 0.0625f, 1 - cy - 0.0625f); glVertex2i(0,0,0); glTexCoord2f (cx + 0.0625f, 1 - cy); glVertex2i(0,0,0); glTexCoord2f (cx, 1 - cy); glVertex2i(0,0,0); glEnd(); glTranslated(10,0,0); glEndList(); }Ich gestehe, dass dies eine Adaption aus einem Tutorial ist, aber dazu sind diese ja da...
Kann mir nun wer erklären, warum ich nichts von meinem Text sehe?
Was muss ich denn bei Displaylisten beachten?
-
irgendwie zeigt er sich nicht
glBegin(GL_QUADS); glVertex2i(0,0,0); glVertex2i(0,0,0); glVertex2i(0,0,0); glVertex2i(0,0,0); glEnd();nasowas

-
ookay, das war jetzt nen Copy and paste fehler..
Im Quellcode isses richtig ^^glBegin(GL_QUADS); glVertex2i(0,0); glVertex2i(16,0); glVertex2i(16,16); glVertex2i(0,16); glEnd();
-
0 ist als z-koordinate keine gute wahl:
void glOrtho(GLdouble left, GLdouble right, GLdouble bottom, GLdouble top, GLdouble near, GLdouble far);
-
ookay, nun ist das auch noch zu sagen, dass es mit nem vertex2i auch nicht funktioniert, oder ist da 0 der Defaultwert??