About This Guide

This guide tells you how to port your existing IRIS GL code to OpenGL. It

This guide is for developers who have been using IRIS GL. It is not an introduction to graphics programming and it is not comprehensive OpenGL documentation. For more complete OpenGL documentation, see “OpenGL Documentation”.


Note: This guide is written for programmers who are working in C. It doesn't discuss OpenGL Fortran and Ada wrappers.


What This Guide Contains

This guide includes the following chapters:

Where to Get More Information

As you use this guide, you will probably have to refer to the OpenGL reference pages, the IRIS GL reference pages, and the programming guides. You can read all the reference pages online using the man command, or you can buy the printed OpenGL reference pages. These are published in the OpenGL Reference Manual, available in bookstores (see “OpenGL Documentation”).


Note: If you're viewing this manual online using IRIS InSight, click any red underlined reference page name to view the reference page.

In addition, you may find the OpenGL documentation, GLUT documentation, IRIS GL documentation, and window system documentation that's listed in the following sections helpful:

OpenGL Documentation

For more information on programming in OpenGL 1.1, refer to these manuals:

  • OpenGL Architecture Review Board; Renate Kempf and Chris Frazier, editors. OpenGL Reference Manual. The Official Reference Document for OpenGL, Version 1.1. Reading, MA: Addison Wesley Longman Inc. 1996. ISBN 0-201-46140-4

  • Woo, Mason, Jackie Neider, and Tom Davis. OpenGL Programming Guide: The Official Guide to Learning OpenGL, Version 1.1. Reading, MA: Addison Wesley Longman Inc. 1997. ISBN 0-201-46138-2

  • OpenGL on Silicon Graphics Systems (Silicon Graphics manual; document number 007-2392-002)

For more information on programming in OpenGL 1.0, refer to these manuals:

  • OpenGL Architecture Review Board. OpenGL Reference Manual. Reading, MA: Addison-Wesley Publishing Company. 1992. ISBN 0-201-63276-4

  • Neider, Jackie, Tom Davis, and Mason Woo. OpenGL Programming Guide. Reading, MA: Addison-Wesley Publishing Company. ISBN 0-201-63274-8

  • OpenGL on Silicon Graphics Systems (Silicon Graphics manual; document number 007-2392-001)

GLX and GLUT Documentation

  • Kilgard, Mark J. OpenGL Programming for the X Window System. Menlo Park, CA: Addison-Wesley Developer's Press. 1996. ISBN 0-201-48369-9

  • Pointers to the GLUT Library, to interesting technical papers, and to the comp.graphics.opengl mailing list are on the OpenGL home page: http://www.openGL.org/

IRIS GL Documentation

For more information on programming with IRIS GL, refer to these Silicon Graphics manuals:

  • Graphics Library Programming Guide, Volume 1 (document number 007-1210-060)

  • Graphics Library Programming Guide, Volume 2 (document number 007-1702-020)

  • Graphics Library Programming Tools and Techniques (document number 007-1489-030)

X Window System Documentation

For comprehensive information on the X Window System, Xlib, Xt, and X protocol, see the Digital Press X Series:

  • Scheifler, Robert W., and James Gettys, et al. X Window System: The Complete Reference to Xlib, X Protocol, ICCCM, XLFD. Third Edition, X Version 11, Release 5, Burlington, MA. Digital Press—Digital Equipment Corporation, 1992. ISBN 1-55558-088-2

  • Asente, Paul J., and Ralph R. Swick. X Window System Toolkit: The Complete Programmer's Guide and Specification. Burlington MA: Digital Press—Digital Equipment Corporation. 1992. ISBN 1-55558-051-3

Or refer to the O'Reilly X Window System Series, Volumes 1, 4, and 5:

  • Nye, Adrian. Volume One: Xlib Programming Manual. Sebastopol, CA. O'Reilly & Associates. 3rd edition July 1992. ISBN 1-56592-002-3

  • Nye, Adrian, and Tim O'Reilly. Volume Four: X Toolkit Intrinsics Programming Manual. Sebastopol, CA: O'Reilly & Associates. Second edition, 1992. ISBN 1-56592-013-9

  • Flanagen, David (editor). Volume Five: X Toolkit Intrinsics Reference Manual. Sebastopol, CA: O'Reilly & Associates. Third edition, April 1992. ISBN 1-56592-007-4

OSF/Motif Documentation

For information on OSF/Motif, see the Prentice-Hall OSF/Motif series:

  • OSF/Motif Programmer's Guide, Open Software Foundation, PTR Prentice-Hall, Inc., Englewood Cliffs, NJ.

  • OSF/Motif Programmer's Reference, Open Software Foundation, PTR Prentice-Hall, Inc., Englewood Cliffs, NJ.

  • OSF/Motif Style Guide, Open Software Foundation, PTR Prentice-Hall, Inc., Englewood Cliffs, NJ.

Conventions Used in This Guide

This section explains the typographical and function naming conventions used in this guide.

Typographical Conventions

This guide uses the following typographical conventions:

Italics  

Filenames, IRIX command names, function parameters, and book titles.

Fixed-width 

Code examples and system output.

Bold 

Function names, with parentheses following the name—for example glPolygonMode()—and arguments to command-line options.


Note: In all tables, regular font is used for function names. This avoids clutter in the table, which would make it difficult to read.


Function Naming Conventions

This guide refers to a group of similarly named OpenGL functions by a single name, using an asterisk to indicate all the functions whose names start the same way. For instance, glVertex*() refers to all functions whose names begin with “glVertex”: glVertex2s(), glVertex3dv(), glVertex4fv(), and so on.

Naming conventions for X-related functions can be confusing, because they depend largely on capitalization to differentiate between groups of functions. For systems on which both OpenGL and IRIS GL are available, the issue is further complicated by the similarity in function names. Here's a quick guide to old and new function names:

GLX*() 

IRIS GL mixed-model support

Glx*() 

IRIS GL support for IRIS IM

glX*() 

OpenGL support for X

GLw*() 

OpenGL support for IRIS IM

Note that the (OpenGL) glX*() routines are collectively referred to as “GLX”; that term was previously used to refer to the (IRIS GL) GLX*() routines. Note, too, that GLXgetconfig() (an IRIS GL mixed-model routine) is not the same function as glXGetConfig() (a GLX routine). On systems with both IRIS GL and OpenGL, the command

IRIS% man glxgetconfig

displays both reference pages, one following the other.

Changes in This Version of the Document

This version of the document has been updated in the following ways:

  • All references to the aux library have been removed and replaced with references to the GLUT library where appropriate. The aux library was never intended for production-level code. Its removal from this document intends to discourage programmers from continuing to use it.

  • All examples were updated to use the glut library instead of the aux library.

  • This document is targeted at both OpenGL 1.0 and OpenGL 1.1 users. It refers to OpenGL 1.1 functions where new functionality has been introduced (old references to extensions remain where appropriate).

  • Most references to reference pages are now links when viewed with IRIS Insight.

  • Chapter and section overviews with links to sections or subsections have been added.

  • Appendix B, Differences Between OpenGL and IRIS GL, was updated to contain the most recent information supplied by Mark Kilgard.