Next: Contents

#

The OpenGL Utility Toolkit (GLUT) Programming Interface API Version 3

Mark J. Kilgard
Silicon Graphics, Inc.

OpenGL is a trademark of Silicon Graphics, Inc. X Window System is a trademark of X Consortium, Inc. Spaceball is a registered trademark of Spatial Systems Inc.

The author has taken care in preparation of this documentation but makes no expressed or implied warranty of any kind and assumes no responsibility for errors or omissions. No liability is assumed for incidental or consequential damages in connection with or arising from the use of information or programs contained herein.

Copyright © 1994, 1995, 1996. Mark J. Kilgard. All rights reserved.

All rights reserved. No part of this documentation may be reproduced, in any form or by any means, without permission in writing from the author.

- Contents
- 1 Introduction
  - 1.1 Background
  - 1.2 Design Philosophy
  - 1.3 API Version 2
  - 1.4 API Version 3
  - 1.5 Conventions
  - 1.6 Terminology
- 2 Initialization
  - 2.1 glutInit
  - 2.2 glutInitWindowPosition, glutInitWindowSize
  - 2.3 glutInitDisplayMode
- 3 Beginning Event Processing
  - 3.1 glutMainLoop
- 4 Window Management
  - 4.1 glutCreateWindow
  - 4.2 glutCreateSubWindow
  - 4.3 glutSetWindow, glutGetWindow
  - 4.4 glutDestroyWindow
  - 4.5 glutPostRedisplay
  - 4.6 glutSwapBuffers
  - 4.7 glutPositionWindow
  - 4.8 glutReshapeWindow
  - 4.9 glutFullScreen
  - 4.10 glutPopWindow, glutPushWindow
  - 4.11 glutShowWindow, glutHideWindow, glutIconifyWindow
  - 4.12 glutSetWindowTitle, glutSetIconTitle
  - 4.13 glutSetCursor
- 5 Overlay Management
  - 5.1 glutEstablishOverlay
  - 5.2 glutUseLayer
  - 5.3 glutRemoveOverlay
  - 5.4 glutPostOverlayRedisplay
  - 5.5 glutShowOverlay, glutHideOverlay
- 6 Menu Management
  - 6.1 glutCreateMenu
  - 6.2 glutSetMenu, glutGetMenu
  - 6.3 glutDestroyMenu
  - 6.4 glutAddMenuEntry
  - 6.5 glutAddSubMenu
  - 6.6 glutChangeToMenuEntry
  - 6.7 glutChangeToSubMenu
  - 6.8 glutRemoveMenuItem
  - 6.9 glutAttachMenu, glutDetachMenu
- 7 Callback Registration
  - 7.1 glutDisplayFunc
  - 7.2 glutOverlayDisplayFunc
  - 7.3 glutReshapeFunc
  - 7.4 glutKeyboardFunc
  - 7.5 glutMouseFunc
  - 7.6 glutMotionFunc, glutPassiveMotionFunc
  - 7.7 glutVisibilityFunc
  - 7.8 glutEntryFunc
  - 7.9 glutSpecialFunc
  - 7.10 glutSpaceballMotionFunc
  - 7.11 glutSpaceballRotateFunc
  - 7.12 glutSpaceballButtonFunc
  - 7.13 glutButtonBoxFunc
  - 7.14 glutDialsFunc
  - 7.15 glutTabletMotionFunc
  - 7.16 glutTabletButtonFunc
  - 7.17 glutMenuStatusFunc
  - 7.18 glutIdleFunc
  - 7.19 glutTimerFunc
- 8 Color Index Colormap Management
  - 8.1 glutSetColor
  - 8.2 glutGetColor
  - 8.3 glutCopyColormap
- 9 State Retrieval
  - 9.1 glutGet
  - 9.2 glutLayerGet
  - 9.3 glutDeviceGet
  - 9.4 glutGetModifiers
  - 9.5 glutExtensionSupported
- 10 Font Rendering
  - 10.1 glutBitmapCharacter
  - 10.2 glutBitmapWidth
  - 10.3 glutStrokeCharacter
  - 10.4 glutStrokeWidth
- 11 Geometric Object Rendering
  - 11.1 glutSolidSphere, glutWireSphere
  - 11.2 glutSolidCube, glutWireCube
  - 11.3 glutSolidCone, glutWireCone
  - 11.4 glutSolidTorus, glutWireTorus
  - 11.5 glutSolidDodecahedron, glutWireDodecahedron
  - 11.6 glutSolidOctahedron, glutWireOctahedron
  - 11.7 glutSolidTetrahedron, glutWireTetrahedron
  - 11.8 glutSolidIcosahedron, glutWireIcosahedron
  - 11.9 glutSolidTeapot, glutWireTeapot
- 12 Usage Advice
- 13 FORTRAN Binding
  - 13.1 Names for the FORTRAN GLUT Binding
  - 13.2 Font Naming Caveat
  - 13.3 NULL Callback
- 14 Implementation Issues
  - 14.1 Name Space Conventions
  - 14.2 Modular Implementation
  - 14.3 Error Checking and Reporting
  - 14.4 Avoid Unspecified GLUT Usage Restrictions
- A GLUT State
  - A.1 Types of State
  - A.2 Global State
    - A.2.1 Program Controlled State
    - A.2.2 Fixed System Dependent State
  - A.3 Window State
    - A.3.1 Basic State
    - A.3.2 Frame Buffer Capability State
    - A.3.3 Layer State
  - A.4 Menu State
- B glut.h ANSI C Header File
- C fglut.h FORTRAN Header File
- References
- Index
- About this document ...

Next: Contents