- var
- ...
- Font, Font2: HFont;
- base: GLUInt;
- gmf: array[0..255] of GLYPHMETRICSFLOAT;
- ...
- Procedure BuildFont();
- begin
- base := glGenLists(256);
- font := CreateFont(-12,0,0,0,FW_BOLD,0,0,0,ANSI_CHARSET,OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,ANTIALIASED_QUALITY,FF_DONTCARE or DEFAULT_PITCH,'Kelt');
- font2 := CreateFont(-12,0,0,0,FW_BOLD,0,0,0,ANSI_CHARSET,OUT_TT_PRECIS,CLIP_DEFAULT_PRECIS,ANTIALIASED_QUALITY,FF_DONTCARE or DEFAULT_PITCH,'Times New Roman');
- SelectObject(DC,font);
- wglUseFontOutlines(DC,0,255,base,0.1,0.2,WGL_FONT_POLYGONS,@gmf);
- end;
- ...
- procedure glPrint(text: PChar);
- begin
- if (text = '') then exit;
- glPushAttrib(GL_LIST_BIT);
- glListBase(base);
- glCallLists(length(text), GL_UNSIGNED_BYTE,text);
- glPopAttrib();
- end;
- ...
- procedure GLDraw();
- begin
- glTranslatef(1,-2,0);
- glPushMatrix;
- glBindTexture(GL_TEXTURE_2D,texture[4]);
- SelectObject(DC,Font2); //Bewirkt keine Änderung der Schriftart
- wglUseFontOutlines(DC,0,255,base,0.1,0.2,WGL_FONT_POLYGONS,@gmf);
- //Bewirkt eine Änderung aller Schriftarten zu Font 2 und reisst
- //die Performance in den Keller ...
- glTexGeni(GL_S,GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
- glTexGeni(GL_T,GL_TEXTURE_GEN_MODE, GL_OBJECT_LINEAR);
- glEnable(GL_TEXTURE_GEN_S);
- glEnable(GL_TEXTURE_GEN_T);
- glPrint('Start'); //Ausgabe des Textes
- glDisable(GL_TEXTURE_GEN_S);
- glDisable(GL_TEXTURE_GEN_T);
- glPopMatrix;
- end;