|
Executing Multiple Display
Lists
-
Several DLs can be executed in succession
-
Place the indices in an array
-
call glCallLists()
-
good for symbology or fonts
void initStrokedFont(void)
{
GLuint base;
base = glGenLists(128);
glListBase(base);
glNewList(base+ A , GL_COMPILE); drawLetter(Adata);
glEndList(); glNewList(base+ E , GL_COMPILE);
drawLetter(Edata); glEndList(); glNewList(base+ P , GL_COMPILE);
drawLetter(Pdata); glEndList(); glNewList(base+ R , GL_COMPILE);
drawLetter(Rdata); glEndList(); glNewList(base+ S , GL_COMPILE);
drawLetter(Sdata); glEndList(); glNewList(base+
, GL_COMPILE);
/* space character */
glTranslatef(8.0, 0.0, 0.0);
glEndList();
}
void printStrokedString(GLbyte *s)
{
GLint len = strlen(s);
glCallLists(len, GL_BYTE, s);
}
|
|