About This Guide

OpenGL on Silicon Graphics Systems explains how to use the OpenGL graphics library on Silicon Graphics systems. The guide expands on the OpenGL Programming Guide, which describes implementation-independent aspects of OpenGL. It discusses these major topics:

What This Guide Contains

This guide consists of 14 chapters and 3 appendixes:

Note that although this guide contains information useful to developers porting from IRIS GL to OpenGL, the primary source of information for porting is the OpenGL Porting Guide, available from Silicon Graphics (and via the IRIS Insight viewer or the TechPubs library home page online).

What You Should Know Before Reading This Guide

To work successfully with this guide, you should be comfortable programming in ANSI C or C++. You should have a fairly good grasp of graphics programming concepts (terms such as “texture map” and “homogeneous coordinates” aren't explained in this guide), and you should be familiar with the OpenGL graphics library. Some familiarity with the X Window System, and with programming for Silicon Graphics platforms in general, is also helpful. If you're a newcomer to any of these topics, see the references listed under “Background Reading.”

Background Reading

The following books provide background and complementary information for this guide. Bibliographical information or the Silicon Graphics document number is provided. Books available in hardcopy and by using the IRIS InSight online viewer are marked with (I):

OpenGL and Associated Tools and Libraries

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

  • 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. (I)

  • 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.

  • OpenGL Porting Guide (007-1797-030). (I)

  • IRIS IM Programming Guide (007-1472-020)

X Window System: Xlib, X Toolkit, and OSF/Motif

  • O'Reilly X Window System Series, Volumes 1, 2, 4, 5, and 6 (referred to in the text as “O'Reilly” with a volume number):

    • Nye, Adrian. Volume One: Xlib Programming Manual. Sebastopol, CA: O'Reilly & Associates, 1991. (I)

    • Volume Two. Xlib Reference Manual. Sebastopol, CA: O'Reilly & Associates.

    • Nye, Adrian, and Tim O'Reilly. Volume Four. X Toolkit Intrinsics Programming Manual. Sebastopol, CA: O'Reilly & Associates, 1992. (I)

    • Flanagan, David (ed). Volume Five. X Toolkit Intrinsics Reference Manual. Sebastopol, CA: O'Reilly & Associates, 1990.

    • Heller, Dan. Volume Six. Motif Programming Manual. Sebastopol, CA: O'Reilly & Associates.

  • Young, Doug. Application Programming with Xt: Motif Version

  • Kimball, Paul E. The X Toolkit Cookbook. Englewood Cliffs, NJ: Prentice Hall, 1995.

  • Open Software Foundation. OSF/Motif Programmer's Guide, Revision 1.2. Englewood Cliffs, NJ: Prentice Hall, 1993. (I)

  • Open Software Foundation. OSF/Motif Programmer's Reference, Revision 1.2. Englewood Cliffs, NJ: Prentice Hall, 1993. (I)

  • Open Software Foundation. OSF/Motif User's Guide, Revision 1.2. Englewood Cliffs, NJ: Prentice Hall, 1993.

  • Open Software Foundation. OSF/Motif Style Guide. Englewood Cliffs, NJ: Prentice Hall. (I)

Other Sources

  • Kane, Gerry. MIPS RISC Architecture. Englewood Cliffs, NJ: Prentice Hall. 1989.

  • MIPS Compiling and Performance Tuning Guide. 007-2479-001. (I)

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(), arguments to command line options.


Note: Names of reference pages, such as glPolygonMode, are not functions. Reference page names appear in default font in hardcopy and in red text online. If you click the red text, the reference page will launch automatically.


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 Manual

This first revision of the manual contains the following changes:

  • Extensions removed. The manual has been updated for OpenGL 1.1. The functionality of some extensions was integrated into OpenGL 1.1 and the extensions have therefore been removed:

    Texturing extensions

    Texture objects, subtexture, copy texture.

    Imaging extensions

    Blend logic op

    Miscellaneous extensions

    Polygon offset, vertex array


  • Extensions added. The extension chapters have been reorganized as a finer-grained presentation. A number of extensions have been added:

    Resource extensions

    DMPbuffer extension

    Texturing extensions

    Texture filter4, filter4 parameters, texture LOD Bias, texture multibuffer, clipmap, texture select, texture add environment

    Rendering extensions

    Sprite, point parameters, reference plane, fog function, fog offset, shadow

    Imaging extensions

    Pixel texture

    Video extensions

    Swap barrier, swap group, video resize


  • Tools: The chapter discussing ogldebug, the OpenGL Debugger, has been updated to reflect ogldebug 1.1. In addition, a section on glc, the OpenGL character renderer, and gls, the OpenGL streaming utility, have been added to the chapter.

  • Performance: The performance chapters have been updated to include some additional information, most notably on InfiniteReality and O2 systems.