Intro to GLUT

October 2000

Ken Schwarz - Technical Consultant SGI


 
 
 
 
 

Class Purpose
  • Familiarize students to advanced software development techniques in OpenGL and other high-level APIs
  • Provide assistance with current software development  activities 
  • Introduce the student to state-of-the art techniques for producing high-performance  interactive graphics applications

  •  
 
 
 

 


 
 
 
 
 

Course Objectives
  • Gain experience by building OpenGL applications
  • Understand the fundamentals of the interaction of OpenGL and the supporting window manager.
  • Understand the fundamentals of interactive graphics application
  • Prepare students for further tutorials (2D/3D graphics, Performer, ...)
  • Have some fun

  •  

     
     
     
     
     
     
     
     
     
     

    Course Implementation
    • Will vary from course-to-course
    • The course material will lead into the lab exercises
    • The labs are fundamental to understanding the course material - do them!

    •  

       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       
       

    Schedule
     
    Monday


     
     
     
     
     

    2:00 pm 
    Lecture 1 Hour
    Labs 1 Hour
     
     

     

    Tuesday


     
     
     
     
     
     
     
     
     

     

     Wednesday


     
     
     
     
     

    3:00 pm 
    "Office Hours" 1 Hour
     
     
     
     
     
     
     
     

     

    Thursda
    Friday 


    Introductions
    Ken Schwarz - Technical Consultant - SGI (5 years)
  • 13 years experience on SGI systems
  • Visual simulation and sensor simulation background
  • Specializing in high-performance systems - 

  •      Challenge/Origin/Onyx
  • SGI career has centered around high-end systems

  •      Performance analysis and tuning 
  • Currently assisting both academic research and industry customer with a variety of high-performance graphics applications and API's

  •  

     
     
     
     
     
     
     
     
     
     

     

    Presentation Material
     
  • All Material is taken form the "The OpenGL Utility Toolkit" at: http://reality.sgi.com/mjk/spec3/spec3.html
  • NOTE!  There are many OpenGL resourses on the Internet! 
  • The starting place is http://www.opengl.org

  •  

     
     
     
     
     
     
     
     

     

    Introduction - What is GLUT? 
    • OpenGL Utility Toolkit
    • ANSI C and FORTRAN  bindings windowing system independent OpenGL programs 
    • C++ wrappers available from http://www.duke.edu/~stetten/GlutMaster
      /GlutMaster.html
    • Operating systems supported:
      • Xwindows OS's (IRIX/Linux/AIX/H-UX/Solaris ...)
      • Windoze (NT/95)
      • OS/2
      • MacOS (?)

      •  

         
         
         
         
         
         
         

    Why use GLUT?
    • Because the details of device interaction and window management are hard to do. (Time = money)
    • Allows the developer to focus on the solution not the implementation
    • The best reason:  Portabilility
      • GLUT-developed code has the potential to be distributed to the widest audience and run on the largest number of platforms.

     
     
     
     
     
     

     

    Feature Set of GLUT
    • Allows multiple windows for OpenGL rendering
    • Callback-driven event processes
    • Sophisticated input device intraction
    • "Idle" routine and timers
    • Simple cascading pop-up menu facility
    • Utility routines to generate various solid and wireframe objects.
    • Support for bitmap and stroke fonts
    • Miscellaneous window management functions, including managing overlays