Executing Multiple Display Lists (cont)

    char *test1 = "A SPARE SERAPE APPEARS AS"; 
    char *test2 = "APES PREPARE RARE PEPPERS"; 
    static void printStrokedString(char *s) 

      GLsizei len = strlen(s); 
      glCallLists(len, GL_BYTE, (GLbyte *)s); 
    }
     
     
     
     
     
     


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  Managing State Variables with Display Lists
  • OGL state variables can be changed by display lists
    • Those changes persist after the DL call

     
  •  To allow a DL to change state variables temporarily use:
    • glPushAttrib() / glPopAttrib()
    • glPushMatrix() / glPopMatrix()  (they can be stored in a DL)

     
     

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  Encapsulating Mode Changes
  • Use DLs to organize and store groups of commands for mode changes
    • Stipple
    • Fog
    • Lighting
    • Clipping 

     
  •  Use of DLs typically will be as fast as immediate mode
    • Be aware of the overhead of calling DLs

     
     

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  End of Presentation
  • Fin 4

  •  

     

  •  

  •  

     
     
     


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  End of Presentation
  • Fin 5

  •  

     

  •  

  •  

     
     
     


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  End of Presentation
  • Fin 6

  •  

     

  •  

  •  

     
     
     


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  End of Presentation
  • Fin 7

  •  

     

  •  

  •  

     
     
     


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  End of Presentation
  • Fin 8

  •  

     

  •  

  •  

     
     
     


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  End of Presentation
  • Fin 9

  •  

     

  •  

  •  

     
     
     


 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

 

  End of Presentation
  • Fin 10

  •  

     

  •  

  •