Index

3D texture extension
EXT_texture3D—The 3D Texture Extension
mipmapping
Using 3D Textures
pixel storage modes
Using 3D Textures

4Dwm
Using OpenGL with the X Window System

60-Hz monitor
How Frame Rate Determines Animation Speed

ABGR extension
EXT_abgr—The ABGR Extension

ABI
CPU Tuning: Basics
CPU Tuning: Basics

ABS instruction
Fragment and Vertex Program Instructions

accumulated multisampling
Accumulating Multisampled Images

actions and translations
Background Information
Using Actions and Translations
Using Actions and Translations

ADD instruction
Fragment and Vertex Program Instructions

adding callbacks
Using Drawing-Area Widget Callbacks

advanced multisampling options
Using Advanced Multisampling Options

AGP interface
Differences Between Onyx4 and Silicon Graphics Prism Systems

aliasing, vertex attributes
Attribute Aliasing

AllocAll
Creating a Colormap and a Window

AllocNone
Creating a Colormap and a Window

alpha blending
Using Expensive Per-Fragment Operations Efficiently

alpha component
representing complex geometry
Advanced Transform-Limited Tuning Techniques

alpha value used as multisample mask
Using Advanced Multisampling Options

analog monitors
Configuring Monitor Types

ancillary buffers
GLX and Overloaded Visuals
Less-Rigid Similarity Requirements When Matching Context and Drawable
PBuffers and Pixmaps
Creating a Pbuffer

animations
Using Animations
avoiding flickering
Using Animations
benchmarking
Achieving Accurate Timing Measurements
clear operations
How Frame Rate Determines Animation Speed
controlling with workprocs
Controlling an Animation With Workprocs
debugging
Animation Problems
double buffering
Tuning Animation
frame rate
How Frame Rate Determines Animation Speed
glXSwapBuffers
Optimizing Frame Rate Performance
optimizing frame rates
Optimizing Frame Rate Performance
speed
How Frame Rate Determines Animation Speed
swapping buffers
Swapping Buffers
tuning
Tuning Animation

anisotropic texture filtering
SGIS_filter4_parameters—The Filter4 Parameters Extension
SGIS_texture_filter4—The Texture Filter4 Extensions

anisotropic texturing
Why Use Anisotropic Texturing?

ANSI C
prototyping subroutines
Examples for Optimizing Program Structure
See also compiling.
Examples for Optimizing Program Structure

antialiasing
When to Use Multisampling
lines
Multisampled Lines
multisampling
The Multisample Extension

app-defaults file
Setting Up Fallback Resources
Choosing the Visual for the Drawing-Area Widget
Using the Input Callback

application binary interface (ABI)
CPU Tuning: Basics
CPU Tuning: Basics

ARB extensions
Extensions to OpenGL

ARB_depth_texture extension
The Shadow Extensions

ARB_fragment_program extension
Vertex and Fragment Program Extensions

ARB_multisample extension
The Multisample Extension

ARB_point_parameters extension
The Point Parameters Extension

ARB_shadow extension
The Shadow Extensions

ARB_shadow_ambient extension
The Shadow Extensions

ARB_vertex_buffer_object extension
ARB_vertex_buffer_object—The Vertex Buffer Object Extension

ARB_vertex_program extension
Vertex and Fragment Program Extensions

ARB_window_pos extension
ARB_window_pos—The Window-Space Raster Position Extension

ARL instruction
Vertex Program Instructions

arrays, traversal
Examples for Optimizing Data Structures for Drawing

assembly code
Using Specialized Drawing Subroutines and Macros
Examining Assembly Code

Athena widget set
Widgets and the Xt Library

ATI_draw_buffers extension
ATI_draw_buffers—The Multiple Draw Buffers Extension

ATI_element_array extension
The Vertex Array Object Extensions (Legacy)

ATI_fragment_shader extensions
The Legacy Vertex and Fragment Program Extensions

ATI_map_object_buffer extension
The Vertex Array Object Extensions (Legacy)

ATI_separate_stencil extension
ATI_separate_stencil—The Separate Stencil Extension

ATI_texture_env_combine3 extension
ATI_texture_env_combine3—New Texture Combiner Operations Extension

ATI_texture_float extension
ATI_texture_float—The Floating Point Texture Extension

ATI_texture_mirror_once extension
ATI_texture_mirror_once—The Texture Mirroring Extension

ATI_vertex_array_object extension
The Vertex Array Object Extensions (Legacy)

ATI_vertex_attrib_array_object extension
The Vertex Array Object Extensions (Legacy)

attribute aliasing
Attribute Aliasing

attributes
of drawing-area widget
Choosing the Visual for the Drawing-Area Widget
of widgets
Setting Up Fallback Resources

backdrop
Mixing Computation With Graphics

backface removal
Using Backface/Frontface Removal
Using Backface/Frontface Removal

BadAlloc X protocol error
Overlay Troubleshooting
Creating a Pbuffer

BadMatch X protocol error
Inheritance Issues
Creating a Colormap and a Window
Creating a Pbuffer
Creating and Using Pixmaps
Possible Match Errors
Possible Match Errors

benchmarking
Taking Timing Measurements
and glFinish()
Achieving Accurate Timing Measurements
background processes
Achieving Accurate Timing Measurements
basics
Benchmarking Basics
clock resolution
Achieving Accurate Timing Measurements
example program
Benchmarks
instruments extension
SGIX_instruments—The Instruments Extension
libraries
Libraries for Benchmarking
loops
Achieving Accurate Timing Measurements
static frames
Achieving Accurate Timing Measurements

billboards
Modeling to the Graphics Pipeline
sprite extension
SGIX_sprite—The Sprite Extension

binding context to window
Binding the Context to the Window

bitmap fonts
Using Fonts and Strings

BlackPixel() color macro
Color Variation Across Colormaps

blank window
Blank Window

blend subtract extension
Blend Subtract Extension

blending
and multisampling
Using Advanced Multisampling Options
constant color
Constant Color Blending Extension
extensions
Blending Extensions
See also minmax blending extension, logical operator blending, constant color blending, alpha blending.
Minmax Blending Extension

blending factors
Using Constant Colors for Blending
Using Constant Colors for Blending

block counting
Measuring Cache-Miss and Page-Fault Overhead

border clamping
SGIS_texture_edge/border_clamp—Texture Clamp Extensions

border pixel
Creating a Colormap and a Window

bottlenecks
CPU
Optimizing the Data Organization
definition
About Pipeline Tuning
finding
Isolating Bottlenecks in Your Application: Overview
geometry subsystem
Isolating Bottlenecks in Your Application: Overview
raster subsystem
Isolating Bottlenecks in Your Application: Overview
See also optimizing.
About Pipeline Tuning
tuning
About Pipeline Tuning

buffer clobber events
Rendering to a Pbuffer
Directing the Buffer Clobber Event
Directing the Buffer Clobber Event

buffer swaps, synchronizing
SGIX_swap_group—The Swap Group Extension

buffers
accessed by loops
Examples for Optimizing Program Structure
accumulation buffer for multisampling
Accumulating Multisampled Images
avoiding simultaneous traversal
Minimizing Cache Misses
instrument extension
Specifying the Buffer
See also ancillary buffers
Accumulating Multisampled Images
swapping
Swapping Buffers
synchronizing swaps
SGIX_swap_group—The Swap Group Extension

bump mapping
Why Use Texture Combiners?

cache
definition
Memory Organization
determining size
Minimizing Cache Misses
immediate mode drawing
Optimizing the Data Organization
minimizing misses
Minimizing Cache Misses
miss
Optimizing the Data Organization
Memory Organization

calculating expected performance
Benchmarking Basics

callbacks
adding
Using Drawing-Area Widget Callbacks
and current context
Using Drawing-Area Widget Callbacks
drawing-area widget
Using Drawing-Area Widget Callbacks
Using Drawing-Area Widget Callbacks
expose
Using Drawing-Area Widget Callbacks
Creating Overlays
expose()
Mapping the Window
for NURBS object
Using the NURBS Tessellator Extension
ginit() callback
Creating the Widgets
in overlay
Creating Overlays
init
Using Drawing-Area Widget Callbacks
init()
Mapping the Window
input
Using Drawing-Area Widget Callbacks
Using Drawing-Area Widget Callbacks
Creating Overlays
resize
Using Drawing-Area Widget Callbacks
Using Drawing-Area Widget Callbacks
Creating Overlays

CASE tools
Debugging Your Program

CASEVision/Workshop Debugger
ogldebug Overview

cc command
Examining Assembly Code

character strings
Using Fonts and Strings

checking for extensions
How to Check for OpenGL Extension Availability

choosing colormaps
Choosing Which Colormap to Use

choosing visuals
Selecting a Visual

clamping
border clamping
SGIS_texture_edge/border_clamp—Texture Clamp Extensions
edge clamping
SGIS_texture_edge/border_clamp—Texture Clamp Extensions

clear
for debugging
Blank Window
performance tuning
Mixing Computation With Graphics

clearing bitplanes
Using Clear Operations

clip region
Clipmap Overview

clip volumes
EXT_clip_volume_hint—The Clip Volume Hint Extension

clipmap extension
SGIX_clipmap—The Clipmap Extension

clipmaps
center
Clipmap Textures and Plain Textures
clipped level
Why Do the Clipmap Constraints Work?
component diagram
Clipmap Overview
how to set up stack
Setting Up the Clipmap Stack
invalid borders
Invalid Borders
nonclipped level
Why Do the Clipmap Constraints Work?
tiles
Moving the Clip Center
toroidal loading
Toroidal Loading
updating stacks
Updating the Clipmap Stack
virtual
Virtual Clipmaps

clipped level
Why Do the Clipmap Constraints Work?

clipping
debugging
Blank Window

clock resolution
Achieving Accurate Timing Measurements

CMP instruction
Fragment Program Instructions

color blending extension
Constant Color Blending Extension

color buffer clear
influence on performance
Benchmarking Basics
with depth buffer clear
Using Clear Operations

color lookup tables
pixel texture
SGIX_pixel_texture—The Pixel Texture Extension

color macros
Color Variation Across Colormaps

color matrix
and color mask
Tuning the Imaging Pipeline
and identity matrix
Tuning the Imaging Pipeline
extension
SGI_color_matrix—The Color Matrix Extension

color table extension
SGI_color_table—The Color Table Extension
and copy texture
Using Framebuffer Image Data for Color Tables

color-index mode
Background Information About Colormaps

colormaps
Color Variation Across Colormaps
and drawing-area widgets
X Window Colormaps
and overlays
Overlay Troubleshooting
choosing
Choosing Which Colormap to Use
creating
Creating a Colormap and a Window
default
Color Variation Across Colormaps
definition
X Window Colormaps
Background Information About Colormaps
flashing
Running OpenGL Applications Using a Single Visual
Multiple Colormap Issues
installing
Installing the Colormap
multiple
Multiple Colormap Issues
retrieving default
Multiple Colormap Issues
transparent cell
Introduction to Overlays
Xlib
Colormap Example

compiling
display lists
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
CPU Tuning: Display Lists
-float option
CPU Tuning: Basics
-g option
CPU Tuning: Basics
-mips3, -mips4
CPU Tuning: Basics
-O2 option
CPU Tuning: Basics
optimizing
CPU Tuning: Basics

complex structures
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects

compressed texture formats
EXT_texture_compression_s3tc—The S3 Compressed Texture Format Extension

concave polygons, optimizing
Using Peak-Performance Primitives for Drawing

conditional statements
Examples for Optimizing Program Structure

configuration file for ogldebug
Using a Configuration File

constant color blending extension
Constant Color Blending Extension
blending factors
Using Constant Colors for Blending

container widgets
Creating the Widgets

contexts
and visuals
Less-Rigid Similarity Requirements When Matching Context and Drawable
binding to window
Binding the Context to the Window
created with GLXFBConfig
Rendering to a Pbuffer
current
Rendering Contexts
retrieving current display
Retrieving Display and Context Information
See also rendering contexts
Creating a Rendering Context

convolution extension
EXT_convolution—The Convolution Extension
and texture images
Separable and General Convolution Filters
border mode
Retrieving Convolution State Parameters
example
Performing Convolution
filter bias factors
Retrieving Convolution State Parameters
filter image height
Retrieving Convolution State Parameters
filter image width
Retrieving Convolution State Parameters
Retrieving Convolution State Parameters
filter scale factors
Retrieving Convolution State Parameters
Retrieving Convolution State Parameters
maximum filter image height
Retrieving Convolution State Parameters
maximum filter image width
Retrieving Convolution State Parameters
Retrieving Convolution State Parameters
separable filter
Separable and General Convolution Filters

convolution kernels
Performing Convolution

coordinate system
X Window System Problems

COS instruction
Fragment Program Instructions

CPU bottlenecks
checking in example program
Testing for CPU Limitation
eliminating from example program
Using the Profiler
from hierarchical data structures
Optimizing the Data Organization
memory paging
Memory Organization
testing for
Isolating Bottlenecks in Your Application: Overview

CPU stage of the pipeline
A Three-Stage Model of the Graphics Pipeline

CPU usage bar
Isolating Bottlenecks in Your Application: Overview

culling
Optimizing the Data Organization
Advanced Transform-Limited Tuning Techniques

current context
Rendering Contexts

customizing detail texture
Customizing the Detail Function

customizing sharpen texture
Customizing the LOD Extrapolation Function

cvd (CASEVision/Workshop Debugger)
ogldebug Overview

cvd debugger
Inheritance Issues

data
expansion in display lists
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
preprocessing
Preprocessing Drawing Data (Meshes and Vertex Loops)
storage self-managed by display lists
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects

data organization
Optimizing the Data Organization
balancing hierarchy
Optimizing the Data Organization
disadvantages of hierarchies
Optimizing the Data Organization

data traversal
CPU Tuning: Basics
remote rendering
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects

data types used by packed pixels extension
Using Packed Pixels

database
optimizing by preprocessing
Preprocessing Drawing Data (Meshes and Vertex Loops)
optimizing traversal
Optimizing Database Rendering Code

DBE
Swapping Buffers

dbx
ogldebug Overview

dbx debugger
Inheritance Issues

dbx debugging tool
Debugging Your Program

debugger See ogldebug.
Using a Configuration File

debugging
ogldebug—The OpenGL Debugger
animations
Animation Problems
blank window
Blank Window
CASE tools
Debugging Your Program
dbx
Debugging Your Program
depth testing
Depth Buffering Problems
gdb
Debugging Your Program
glOrtho()
Blank Window
glPerspective()
Blank Window
lighting
Lighting Problems
ogldebug
Debugging Your Program
projection matrix
Blank Window

default colormaps
Multiple Colormap Issues

DefaultVisual() Xlib macro
Some Background on Visuals

degugging
Widget Troubleshooting

deleting unneeded display lists
CPU Tuning: Display Lists

depth buffer clear
Benchmarking Basics

depth buffering
Using Expensive Per-Fragment Operations Efficiently
Benchmarking Libraries: libpdb and libisfast
clearing depth and color buffer
Using Clear Operations
debugging
Depth Buffering Problems
in example program
Testing Again for Fill Limitation
optimizing
Using Depth Buffering Efficiently

depth peeling
Why Use Occlusion Queries?

depth testing
Depth Buffering Problems

DepthBufferingIsFast()
Using libisfast

detail texture
SGIS_detail_texture—The Detail Texture Extension
and texture objects
Using Detail Texture and Texture Object
customizing
Customizing the Detail Function
example program
Detail Texture Example Program
how computed
Detail Texture Computation
LOD interpolation function
Customizing the Detail Function
magnification filters
Creating a Detail Texture and a Low-Resolution Texture

determining cache size
Minimizing Cache Misses

Developer Toolbox
Example Programs

digital monitors
Configuring Monitor Types

direct rendering and pbuffers
PBuffers and Pixmaps

direct rendering contexts
Direct and Indirect Rendering

DirectColor visuals
Some Background on Visuals
Less-Rigid Match of GLX Visual and X Visual

dis command
Examining Assembly Code

display lists
appropriate use
CPU Tuning: Display Lists
compiling
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
complex structures
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
contrasted with immediate mode
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
deleting unneeded
CPU Tuning: Display Lists
dependent on context
X Window System Problems
duplication
CPU Tuning: Display Lists
fonts and strings
Using Fonts and Strings
for X bitmap fonts
Using Fonts and Strings
InfiniteReality systems
Miscellaneous Performance Hints
list priority extension
SGIX_list_priority—The List Priority Extension
optimizing
CPU Tuning: Display Lists
sharing
X Window System Problems
tuning
CPU Tuning: Display Lists

displays, retrieving information
Retrieving Display and Context Information

divided-screen stereo
Stereo Rendering Background Information

double buffering
Using Animations
Tuning Animation

double buffering X extension
Swapping Buffers

DP3 instruction
Fragment and Vertex Program Instructions

DP4 instruction
Fragment and Vertex Program Instructions

DPH instruction
Fragment and Vertex Program Instructions

draw arrays, multiple
EXT_multi_draw_arrays—The Multiple Draw Arrays Extension

draw buffers
Why Use Multiple Draw Buffers?

drawables
and GLXFBConfig
Describing a Drawable With a GLXFBConfig Construct (FBConfig)
definition
GLX Drawables—Windows and Pixmaps
read drawable
Read and Write Drawables
rendering
Using Pixmaps
write drawable
Read and Write Drawables

drawing
avoiding after screen clear
Optimizing Frame Rate Performance
fast pixel drawing
Drawing Pixels Fast
location in call tree
Using Specialized Drawing Subroutines and Macros
optimizing
Tuning the Geometry Subsystem

drawing-area widgets
About OpenGL Drawing-Area Widgets
and colormaps
X Window Colormaps
attributes
Choosing the Visual for the Drawing-Area Widget
callbacks
Using Drawing-Area Widget Callbacks
Using Drawing-Area Widget Callbacks
creating
About OpenGL Drawing-Area Widgets
Creating the Widgets

DST instruction
Fragment and Vertex Program Instructions

DUAL* formats
Using the Texture Select Extension

dual-channel
configuring
Configuring a System for Dual-Channel Operation

DXTC
EXT_texture_compression_s3tc—The S3 Compressed Texture Format Extension

edge clamping
SGIS_texture_edge/border_clamp—Texture Clamp Extensions

effective levels
Virtual Clipmaps

end conditions of loops
Examples for Optimizing Program Structure

errors
BadAlloc X protocol error
Overlay Troubleshooting
Creating a Pbuffer
BadMatch X protocol error
Inheritance Issues
Creating a Colormap and a Window
Creating a Pbuffer
Creating and Using Pixmaps
Possible Match Errors
Possible Match Errors
calling glGetError()
General Tips for Debugging Graphics Programs
error handling
Choosing the Visual for the Drawing-Area Widget
GL_INVALID_OPERATION error
Querying Data in Buffer Objects
Constraints on S3TC Texture Formats
Using Multiple Draw Buffers
Errors
Errors
GL_INVALID_VALUE error
Errors
PDB_ALREADY_OPEN
Using libpdb
PDB_CANT_WRITE
Using libpdb
PDB_NOT_FOUND
Using libpdb
PDB_NOT_OPEN
Using libpdb
PDB_OUT_OF_MEMORY
Using libpdb
PDB_SYNTAX_ERROR
Using libpdb
vertex and fragment programs
Errors

events
Handling Mouse Events
buffer clobber
Directing the Buffer Clobber Event
processing with callbacks
Background Information
Xlib
Xlib Event Handling

EX2 instruction
Fragment and Vertex Program Instructions

example programs
benchmarking
Benchmarks
checking for extensions
Example Program: Checking for Extension Availability
colormaps
Colormap Example
default colormap
Multiple Colormap Issues
detail texture
Detail Texture Example Program
drawing pixels fast
Drawing Pixels Fast
event handling with Xlib
Handling Mouse Events
fonts and strings
Using Fonts and Strings
location
Location of Example Source Code (IRIX-Specific)
Example Programs
motif
Simple Motif Example Program
mouse motion events
Using the Input Callback
pdbMeasureRate()
Example for pdbReadRate()
pdbWriteRate()
Example for pdbMeasureRate()
popup menu
Using Popup Menus With the GLwMDrawingArea Widget
sharpen texture extension
Sharpen Texture Example Program
tuning example
Tuning Example
workproc
Workproc Example
Xlib
Simple Xlib Example Program
Xlib event handling
Handling Mouse Events

EXP instruction
Vertex Program Instructions

expensive modes
Choosing Modes Wisely

expose callback
Using Drawing-Area Widget Callbacks
Creating Overlays

Expose events
Mapping the Window
Exposing a Window
batching
Performance Considerations for X and OpenGL

expose() callback
Mapping the Window

exposing windows
Exposing a Window

EXT_abgr
EXT_abgr—The ABGR Extension

EXT_blend_color
Constant Color Blending Extension

EXT_blend_minmax
Minmax Blending Extension

EXT_blend_subtract
Blend Subtract Extension

EXT_clip_volume_hint extension
EXT_clip_volume_hint—The Clip Volume Hint Extension

EXT_compiled_vertex_array extension
EXT_compiled_vertex_array—The Compiled Vertex Array Extension

EXT_convolution
EXT_convolution—The Convolution Extension

EXT_fog_coord extension
EXT_fog_coord—The Fog Coordinate Extension

EXT_histogram
EXT_histogram—The Histogram and Minmax Extensions

EXT_import_context
EXT_import_context—The Import Context Extension

EXT_multi_draw_arrays extension
EXT_multi_draw_arrays—The Multiple Draw Arrays Extension

EXT_packed_pixels
EXT_packed_pixels—The Packed Pixels Extension

EXT_secondary_color extension
EXT_secondary_color—The Secondary Color Extension

EXT_texgen_reflection extension
The Texture Coordinate Generation Extensions (Legacy)

EXT_texture3D
EXT_texture3D—The 3D Texture Extension

EXT_texture_compression_s3tc extension
EXT_texture_compression_s3tc—The S3 Compressed Texture Format Extension

EXT_texture_filter_anisotropic extension
EXT_texture_filter_anisotropic—The Anisotropic Texture Filtering Extension

EXT_texture_rectangle extension
EXT_texture_rectangle—The Rectangle Texture Extension

EXT_vertex_shader extensions
The Legacy Vertex and Fragment Program Extensions

EXT_visual_info
EXT_visual_info—The Visual Info Extension

EXT_visual_rating
EXT_visual_rating—The Visual Rating Extension

extension
vertex buffer objects
ARB_vertex_buffer_object—The Vertex Buffer Object Extension

extensions
3D texture
EXT_texture3D—The 3D Texture Extension
ABGR
EXT_abgr—The ABGR Extension
blend subtract
Blend Subtract Extension
check for availability
Silicon Graphics X Servers
checking for availability
How to Check for OpenGL Extension Availability
clip volume hint
EXT_clip_volume_hint—The Clip Volume Hint Extension
clipmaps
SGIX_clipmap—The Clipmap Extension
color blending
Constant Color Blending Extension
color matrix
SGI_color_matrix—The Color Matrix Extension
color table
SGI_color_table—The Color Table Extension
convolution
EXT_convolution—The Convolution Extension
deprecated
OpenGLŪ on Silicon Graphics Systems
detail texture
SGIS_detail_texture—The Detail Texture Extension
filter4 parameters
SGIS_filter4_parameters—The Filter4 Parameters Extension
fog coordinates
EXT_fog_coord—The Fog Coordinate Extension
fragment programs
Vertex and Fragment Program Extensions
The Legacy Vertex and Fragment Program Extensions
frame buffer configuration
Using Framebuffer Configurations
GLX extension to X
Silicon Graphics X Servers
histogram
EXT_histogram—The Histogram and Minmax Extensions
import context
EXT_import_context—The Import Context Extension
instruments
SGIX_instruments—The Instruments Extension
interlace
SGIX_interlace—The Interlace Extension
list priority
SGIX_list_priority—The List Priority Extension
make current read
SGI_make_current_read—The Make Current Read Extension
minmax blending
Minmax Blending Extension
multiple draw arrays
EXT_multi_draw_arrays—The Multiple Draw Arrays Extension
multisampling
The Multisample Extension
NURBS tesselator
GLU_EXT_NURBS_tessellator—The NURBS Tessellator Extension
object space tess
GLU_EXT_object_space—The Object Space Tess Extension
packed pixels
EXT_packed_pixels—The Packed Pixels Extension
pixel texture
SGIX_pixel_texture—The Pixel Texture Extension
pixel's raster or window position
ARB_window_pos—The Window-Space Raster Position Extension
point parameter
The Point Parameters Extension
prefixes
How to Check for OpenGL Extension Availability
raster position of pixel
ARB_window_pos—The Window-Space Raster Position Extension
resource
Resource Control Extensions
secondary color
EXT_secondary_color—The Secondary Color Extension
shadow
The Shadow Extensions
sharpen texture
SGIS_sharpen_texture—The Sharpen Texture Extension
specification
Example Programs
sprite
SGIX_sprite—The Sprite Extension
suffixes
Extensions to OpenGL
swap barrier
SGIX_swap_barrier—The Swap Barrier Extension
swap control
SGI_swap_control—The Swap Control Extension
swap group
SGIX_swap_group—The Swap Group Extension
system support
System Support for OpenGL Versions and Extensions
texture border clamp
SGIS_texture_edge/border_clamp—Texture Clamp Extensions
texture color table
SGI_texture_color_table—The Texture Color Table Extension
texture coordinate generation
The Texture Coordinate Generation Extensions (Legacy)
texture edge clamp
SGIS_texture_edge/border_clamp—Texture Clamp Extensions
texture environment add
SGIX_texture_add_env—The Texture Environment Add Extension
texture filter4
SGIS_texture_filter4—The Texture Filter4 Extensions
texture LOD
SGIS_texture_lod—The Texture LOD Extension
texture LOD bias
SGIX_texture_lod_bias—The Texture LOD Bias Extension
texture select
SGIS_texture_select—The Texture Select Extension
texture_scale_bias
SGIX_texture_scale_bias—The Texture Scale Bias Extension
texturing
Texturing Extensions
vertex array objects
The Vertex Array Object Extensions (Legacy)
vertex arrays, compiled
EXT_compiled_vertex_array—The Compiled Vertex Array Extension
vertex programs
Vertex and Fragment Program Extensions
The Legacy Vertex and Fragment Program Extensions
video
Video Extensions
video resize
SGIX_video_resize—The Video Resize Extension
video sync
SGI_video_sync—The Video Synchronization Extension
visual info
EXT_visual_info—The Visual Info Extension
visual rating
EXT_visual_rating—The Visual Rating Extension
wrapper libraries
Extension Wrapper Libraries and Portability Notes

extglgen, extension wrapper library
Extension Wrapper Libraries and Portability Notes

eye point orientation
SGIX_sprite—The Sprite Extension

fading with constant color blending
Using Constant Colors for Blending

fallback resources
Setting Up Fallback Resources
Setting Up Fallback Resources
Setting Up Fallback Resources

false color imaging
Why Use a Texture Color Table?

fast paths (See performance.)
Optimizing Performance on Onyx4 and Silicon Graphics Prism Systems

FBConfig (framebuffer configuration)
Using Framebuffer Configurations

FBConfigs
GLX and Overloaded Visuals

File menu (ogldebug)
Using the File Menu to Interact With ogldebug

fill rates
Benchmarking Basics

fill-limited code
definition
Isolating Bottlenecks in Your Application: Overview
in example program
Testing for Fill Limitation

filter4 parameters extension
SGIS_filter4_parameters—The Filter4 Parameters Extension
Lagrange interpolation
SGIS_filter4_parameters—The Filter4 Parameters Extension
Mitchell-Netravali scheme
SGIS_filter4_parameters—The Filter4 Parameters Extension

filters
texture filter4
SGIS_texture_filter4—The Texture Filter4 Extensions

finding bottlenecks
Isolating Bottlenecks in Your Application: Overview

findvis
GLX and Overloaded Visuals
Some Background on Visuals

flat shading
Choosing Modes Wisely
Using Expensive Per-Fragment Operations Efficiently
Using Expensive Per-Fragment Operations Efficiently
Smooth Shading Versus Flat Shading

flickering in animations
Using Animations

flight simulators
Using Depth Buffering Efficiently

floating point textures
Why Use Floating Point Textures?

FLR instruction
Fragment and Vertex Program Instructions

fog
Choosing Modes Wisely

fog coordinates
EXT_fog_coord—The Fog Coordinate Extension

fonts
Using Fonts and Strings
Using Fonts and Strings
Using Fonts and Strings

form widget
Creating the Widgets
Creating Overlays

fragment programs
SGIS_detail_texture—The Detail Texture Extension
SGIS_point_line_texgen—The Point or Line Texture Generation Extension
SGIS_sharpen_texture—The Sharpen Texture Extension
SGIX_texture_scale_bias—The Texture Scale Bias Extension
SGIS_fog_function—The Fog Function Extension
SGIS_fog_offset—The Fog Offset Extension
Platform Dependencies
Platform Issues
Vertex and Fragment Program Extensions

frame rates
preferred by viewers
Swapping Buffers
tuning
How Frame Rate Determines Animation Speed

frame widget
Creating the Widgets
Creating Overlays

framebuffer configuration extension
Using Framebuffer Configurations

framebuffer configurations
GLX and Overloaded Visuals

framebuffer, efficient use
Tuning the Imaging Pipeline

framelock
configuring
Configuring a System for External Genlock or Framelock

FRC instruction
Fragment and Vertex Program Instructions

frontface removal
Using Backface/Frontface Removal

full-scene antialiasing
configuring
Configuring a System for Full-Scene Antialiasing

-g compiler option
CPU Tuning: Basics

gamut compression
Why Use a Texture Color Table?

gamut expansion
SGIX_texture_scale_bias—The Texture Scale Bias Extension

gcc command
Examining Assembly Code

gdb debugging tool
Debugging Your Program

Genlock
configuring
Configuring a System for External Genlock or Framelock

genlocked pipelines
Why Use the Swap Barrier Extension?

geometry-limited code
finding bottlenecks
Isolating Bottlenecks in Your Application: Overview
in example program
Working on a Geometry-Limited Program
tuning
Tuning the Geometry Subsystem

getColormap()
Multiple Colormap Issues

getgdesc(), IRIS GL function
Benchmarking Libraries: libpdb and libisfast

gettimeofday()
Achieving Accurate Timing Measurements

gfxinfo
System-Specific Tuning

gfxinit
SGI_video_sync—The Video Synchronization Extension

ginit() callback
Creating the Widgets

GL_(UN)PACK_IMAGE_HEIGHT_EXT
Using 3D Textures

GL_1PASS_SGIS
Accumulating Multisampled Images

GL_2PASS_0_SGIS
Accumulating Multisampled Images

GL_4PASS_0_SGIS
Accumulating Multisampled Images

GL_ABGR_EXT
EXT_abgr—The ABGR Extension

GL_BLEND
Blending Extensions

GL_CLAMP_TO_BORDER_SGIS
Why Use the Texture Clamp Extensions?

GL_CLAMP_TO_EDGE_SGIS
Why Use the Texture Clamp Extensions?

GL_COMPILE_AND_EXECUTE
CPU Tuning: Display Lists

GL_CONVOLUTION_BORDER_MODE_EXT
Retrieving Convolution State Parameters

GL_CONVOLUTION_FILTER_BIAS_EXT
Retrieving Convolution State Parameters

GL_CONVOLUTION_FILTER_SCALE_EXT
Retrieving Convolution State Parameters

GL_CONVOLUTION_FORMAT_EXT
Retrieving Convolution State Parameters

GL_CONVOLUTION_HEIGHT_EXT
Retrieving Convolution State Parameters

GL_CONVOLUTION_WIDTH_EXT
Retrieving Convolution State Parameters

GL_DEPTH_TEST
Depth Buffering Problems

GL_INTERLACE_SGIX
Using the Interlace Extension

GL_INVALID_OPERATION error
Querying Data in Buffer Objects
Constraints on S3TC Texture Formats
Using Multiple Draw Buffers
Errors
Errors

GL_INVALID_VALUE error
Errors

GL_LINE_SMOOTH
Multisampled Lines

GL_LINEAR_DETAIL_ALPHA_SGIS
Creating a Detail Texture and a Low-Resolution Texture

GL_LINEAR_DETAIL_COLOR_SGIS
Creating a Detail Texture and a Low-Resolution Texture

GL_LINEAR_DETAIL_SGIS
Creating a Detail Texture and a Low-Resolution Texture

GL_LINEAR_SHARPEN_ALPHA_SGIS
How to Use the Sharpen Texture Extension

GL_LINEAR_SHARPEN_COLOR_SGIS
How to Use the Sharpen Texture Extension

GL_LINEAR_SHARPEN_SGIS
How to Use the Sharpen Texture Extension

GL_MAX_CONVOLUTION_HEIGHT_EXT
Retrieving Convolution State Parameters

GL_MAX_CONVOLUTION_WIDTH_EXT
Retrieving Convolution State Parameters

GL_POINT_FADE_THRESHOLD_SIZE_SGIS
The Point Parameters Extension

GL_POINT_SIZE_MAX_SGIS
The Point Parameters Extension

GL_POINT_SIZE_MIN_SGIS
The Point Parameters Extension

GL_POST_COLOR_MATRIX_*_BIAS_SGI
SGI_color_matrix—The Color Matrix Extension

GL_POST_COLOR_MATRIX_*_SCALE_SGI
SGI_color_matrix—The Color Matrix Extension

GL_RENDERER
Example Program: Checking for Extension Availability
System-Specific Tuning

GL_RGB5_A1_EXT
Tuning the Imaging Pipeline

GL_SAMPLE_ALPHA_TO_MASK_SGIS
Using Advanced Multisampling Options

GL_SAMPLE_MASK_SGIS
Using a Multisample Mask to Fade Levels of Detail

GL_SHININESS
Lighting Operations With Noticeable Performance Costs

GL_SPRITE_AXIAL_SGIX
Available Sprite Modes

GL_SPRITE_EYE_ALIGNED_SGIX
Available Sprite Modes

GL_SPRITE_OBJECT_ALIGNED_SGIX
Available Sprite Modes

GL_TEXTURE_CLIPMAP_CENTER_SGIX
Setting Up the Clipmap Stack

GL_TEXTURE_CLIPMAP_OFFSET_SGIX
Setting Up the Clipmap Stack

GL_TEXTURE_COLOR_TABLE_SGI
Using Texture Color Tables

GL_TEXTURE_LOD_BIAS_*_SGIX
Using the Texture LOD Bias Extension

GL_TEXTURE_MAG_FILTER
Creating a Detail Texture and a Low-Resolution Texture

GL_TEXTURE_MAX_LOD_SGIS
Specifying a Minimum or Maximum Level of Detail

GL_TEXTURE_MIN_LOD_SGIS
Specifying a Minimum or Maximum Level of Detail

GL_TEXTURE_WRAP_R_EXT
Using 3D Textures
Using 3D Textures

GL_UNPACK_ALIGNMENT
Pixel and Texture Write Problems

GL_UNSIGNED_BYTE_3_3_2_EXT
Using Packed Pixels

GL_UNSIGNED_INT_10_10_10_2_EXT
Using Packed Pixels

GL_UNSIGNED_INT_8_8_8_8_EXT
Using Packed Pixels

GL_UNSIGNED_SHORT_4_4_4_4_EXT
Using Packed Pixels

GL_UNSIGNED_SHORT_5_5_5_1_EXT
Using Packed Pixels

GL_VERSION
Example Program: Checking for Extension Availability

glAlphaFragmentOp1ATI()
New Functions

glAlphaFragmentOp2ATI()
New Functions

glAlphaFragmentOp3ATI()
New Functions

glAlphaFunc()
Advanced Transform-Limited Tuning Techniques

glArrayElement()
Using Buffer Objects as Vertex Array Sources

glArrayObjectATI()
New Functions

glBegin()
Examples for Optimizing Program Structure

glBeginFragmentShaderATI()
New Functions

glBeginOcclusionQueryNV()
New Functions

glBeginVertexShaderEXT()
New Functions

glBindBufferARB()
Defining Buffer Objects
Using Buffer Objects as Array Indices
New Functions

glBindFragmentShaderATI()
New Functions

glBindLightParameterEXT()
New Functions

glBindMaterialParameterEXT()
New Functions

glBindParameterEXT()
New Functions

glBindProgramARB()
Defining and Enabling Programs
Errors
New Functions

glBindSwapBarrierSGIX()
New Functions

glBindTexGenParameterEXT()
New Functions

glBindTextureUnitParameterEXT()
New Functions

glBindVertexShaderEXT()
New Functions

glBlendColorEXT()
Using Constant Colors for Blending
New Functions

glBlendEquationEXT()
Minmax Blending Extension
New Functions

glBlendFunc()
Blending Extensions
Using Constant Colors for Blending

glBufferDataARB()
Defining and Editing Buffer Object Contents
Using Buffer Objects as Array Indices
New Functions

glBufferSubData()
Mapping Buffer Objects to Application Memory
Mapping Buffer Objects to Application Memory

glBufferSubDataARB()
Querying Data in Buffer Objects
New Functions

glCallList()
CPU Tuning: Display Lists

glCallLists()
Using Fonts and Strings

glClear()
Blank Window
Mixing Computation With Graphics

glClipPlane()
OpenGL State Parameters

glColor3bEXT()
Using Secondary Color

glColor3bvEXT()
Using Secondary Color

glColor3dEXT()
Using Secondary Color

glColor3dvEXT()
Using Secondary Color

glColor3fEXT()
Using Secondary Color

glColor3fvEXT()
Using Secondary Color

glColor3iEXT()
Using Secondary Color

glColor3ivEXT()
Using Secondary Color

glColor3sEXT()
Using Secondary Color

glColor3svEXT()
Using Secondary Color

glColor3ubEXT()
Using Secondary Color

glColor3ubvEXT()
Using Secondary Color

glColor3uiEXT()
Using Secondary Color

glColor3uivEXT()
Using Secondary Color

glColor3usEXT()
Using Secondary Color

glColor3usvEXT()
Using Secondary Color

glColor4ub()
Naming Statements

glColorFragmentOp1ATI()
New Functions

glColorFragmentOp2ATI()
New Functions

glColorFragmentOp3ATI()
New Functions

glColorMaterial()
Lighting Operations With Noticeable Performance Costs

glColorPointer()
Using Buffer Objects as Vertex Array Sources

glColorTableParameterivSGI()
New Functions

glColorTableSGI()
Using Texture Color Tables
Specifying a Color Table
New Functions

glCompressedTexImage2D()
Using S3TC Texture Formats
Using S3TC Texture Formats

glCompressedTexImage2DARB()
Constraints on S3TC Texture Formats

glCompressedTexSubImage2D()
Using S3TC Texture Formats
Using S3TC Texture Formats
Constraints on S3TC Texture Formats

glConvolutionFilter*DEXT()
Performing Convolution

glConvolutionFilter1DEXT()
New Functions

glConvolutionFilter2DEXT()
New Functions

glConvolutionParameterEXT()
New Functions

glCopyColorTableSGI()
Using Framebuffer Image Data for Color Tables

glCopyConvolutionFilter*DEXT()
Separable and General Convolution Filters

glCopyConvolutionFilter1DEXT()
New Functions

glCopyConvolutionFilter2DEXT()
New Functions

glCopyPixels() and minmax extension
Using the Minmax Part of the Histogram Extension

glCopyTexImage1D()
Using Floating Point Textures

glCopyTexImage2D()
Using Floating Point Textures
Using S3TC Texture Formats
Using Rectangle Textures

glCopyTexImage3DEXT()
New Functions

glDeleteBuffersARB()
Using Buffer Objects
New Functions

glDeleteFragmentShaderATI()
New Functions

glDeleteLists()
CPU Tuning: Display Lists

glDeleteOcclusionQueriesNV()
New Functions

glDeleteProgramsARB()
New Functions

glDeleteVertexShaderEXT()
New Functions

glDepthRange()
OpenGL State Parameters
Choosing Modes Wisely

glDetailTexFuncSGIS()
Customizing the Detail Function
New Functions

glDisableVariantClientStateEXT()
New Functions

glDisableVertexAttribArrayARB()
New Functions

glDrawArrays()
Using Buffer Objects as Vertex Array Sources

glDrawBuffer()
Using Multiple Draw Buffers

glDrawBuffersATI()
Using Multiple Draw Buffers
New Function

glDrawElementArrayATI()
New Functions

glDrawElements()
Using Buffer Objects as Vertex Array Sources

glDrawPixels()
Pixel Optimizations: Reading and Writing Pixel Data

glDrawPixels(), optimizing
Drawing Pixels Fast

glDrawRangeElementArrayATI()
New Functions

glDrawRangeElements()
Using Buffer Objects as Vertex Array Sources

glEdgeFlagPointer()
Using Buffer Objects as Vertex Array Sources

GLee, extension wrapper library
Extension Wrapper Libraries and Portability Notes

glElementPointerATI()
New Functions

glEnableVariantClientStateEXT()
New Functions

glEnableVertexAttribArrayARB()
New Functions

glEnd()
Examples for Optimizing Program Structure

glEndFragmentShaderATI()
New Functions

glEndOcclusionQueryNV()
Using the NV_occlusion_query Extension
New Functions

glEndVertexShaderEXT()
New Functions

GLEW, extension wrapper library
Extension Wrapper Libraries and Portability Notes

glExtractComponentEXT()
New Functions

glFinish()
Achieving Accurate Timing Measurements
Achieving Accurate Timing Measurements

glFogCoorddEXT()
New Functions

glFogCoorddvEXT()
New Functions

glFogCoordfEXT()
New Functions

glFogCoordfvEXT()
New Functions

glFogCoordPointerEXT()
Using Buffer Objects as Vertex Array Sources
New Functions

glFogf()
OpenGL State Parameters

glFogFuncSGIS()
New Function

glFreeObjectBufferATI()
New Functions

glGenBuffers()
Defining Buffer Objects

glGenBuffersARB()
New Functions

glGenFragmentShadersATI()
New Functions

glGenOcclusionQueriesNV()
Using the NV_occlusion_query Extension
New Functions

glGenProgramsARB()
New Functions

glGenSymbolsEXT()
New Functions

glGenVertexShadersEXT()
New Functions

glGetArrayObjectivATI()
New Functions

glGetBufferSubDataARB()
New Functions

glGetColorTableParameterfvSGI()
New Functions

glGetColorTableParameterivSGI()
New Functions

glGetColorTableSGI()
New Functions

glGetConvolutionFilterEXT()
Separable and General Convolution Filters
New Functions

glGetDetailTexFuncSGIS()
New Functions

glGetError()
General Tips for Debugging Graphics Programs
General Tips for Debugging Graphics Programs

glGetFloatv()
Using Anisotropic Texturing

glGetHistogramEXT()
Using the Histogram Extension
New Functions

glGetHistogramParameterEXT()
New Functions

glGetInstrumentsSGIX()
New Functions

glGetIntegerv()
Using the Separate Stencil Extension
Using Rectangle Textures
Using Rectangle Textures
Using Multiple Draw Buffers

glGetInvariantBooleanvEXT()
New Functions

glGetInvariantFloatvEXT()
New Functions

glGetInvariantIntegervEXT()
New Functions

glGetListParameterSGIX()
Using the List Priority Extension
New Functions

glGetLocalConstantBooleanvEXT()
New Functions

glGetLocalConstantIntegervEXT()
New Functions

glGetMinmaxEXT()
Using the Minmax Part of the Histogram Extension
New Functions

glGetMinmaxParameterEXT()
Using the Minmax Part of the Histogram Extension
New Functions

glGetObjectBufferfvATI()
New Functions

glGetObjectBufferivATI()
New Functions

glGetOcclusionQueryNV()
Using the NV_occlusion_query Extension

glGetOcclusionQueryuiNV()
Using the NV_occlusion_query Extension

glGetOcclusionQueryuivNV()
New Functions

glGetProgramEnvParameterdvARB()
New Functions

glGetProgramEnvParameterfvARB()
New Functions

glGetProgramivARB()
Program Resource Limits and Usage
Program String Length, Program String Format, and Program String Name
Source Text
New Functions

glGetProgramLocalParameterdvARB()
New Functions

glGetProgramLocalParameterfvARB()
New Functions

glGetProgramStringARB()
New Functions

glGetSeparableFilterEXT()
New Functions

glGetSharpenTexFuncSGIS()
New Functions

glGetString()
How to Check for OpenGL Extension Availability
Example Program: Checking for Extension Availability
System-Specific Tuning

glGetTexFilterFuncSGIS()
New Functions

glGetVariantArrayObjectfvATI()
New Functions

glGetVariantArrayObjectivATI()
New Functions

glGetVariantBooleanvEXT()
New Functions

glGetVariantFloatvEXT()
New Functions

glGetVariantIntegervEXT()
New Functions

glGetVariantPointervEXT()
New Functions

glGetVertexAttribArrayObjectfvATI()
New Functions

glGetVertexAttribArrayObjectivATI()
New Functions

glGetVertexAttribdvARB()
New Functions

glGetVertexAttribfvARB()
New Functions

glGetVertexAttribivARB()
New Functions

glGetVertexAttribPointervARB()
New Functions

glHint()
Using Clip Volume Hints

glHistogramEXT()
Using the Histogram Extension
New Functions

glIndexPointer()
Using Buffer Objects as Vertex Array Sources

glInsertComponentEXT()
New Functions

glInstrumentsBufferSGIX()
Specifying the Buffer
New Functions

glInstrumentsSGIX()
Measurement Format

glintro man page
Extensions to OpenGL

glIsBufferARB()
New Functions

glIsObjectBufferATI function()
The glXGetProcAddressARB() Function

glIsObjectBufferATI()
New Functions

glIsOcclusionQueryNV()
New Functions

glIsProgramARB()
New Functions

glIsVariantEnabledEXT()
New Functions

glJoinSwapGroupSGIX()
New Function

glLightf()
OpenGL State Parameters

glLightModelf()
OpenGL State Parameters

glListBase()
Using Fonts and Strings

glListParameterSGIX()
Using the List Priority Extension
New Functions

glLoadMatrixf()
OpenGL State Parameters

glLockArraysEXT()
New Functions

glMapBufferARB()
New Functions
The Vertex Array Object Extensions (Legacy)

glMapObjectBufferATI()
New Functions

glMaterial()
Lighting Operations With Noticeable Performance Costs

glMaterialf()
OpenGL State Parameters
OpenGL State Parameters

glMatrixMode()
OpenGL State Parameters
Generic Program Matrix Specification
Program Resource Limits and Usage

glMinmaxEXT()
Using the Minmax Part of the Histogram Extension
New Functions

glMultiDrawArrays()
Using Buffer Objects as Vertex Array Sources

glMultiDrawArraysEXT()
New Functions

glMultiDrawElementsEXT()
Using Buffer Objects as Vertex Array Sources
Using Buffer Objects as Array Indices
Using Buffer Objects as Array Indices
New Functions

glNewObjectBufferATI()
New Functions

glNormal*()
Commands

glNormalPointer()
Using Buffer Objects as Vertex Array Sources
Vertex Attributes

glOrtho()
Blank Window

glPassTexCoordATI()
New Functions

glPerspective()
Blank Window

glPixelTexGenSGIX()
SGIX_pixel_texture—The Pixel Texture Extension
New Functions

glPointParameterfARB()
New Procedures and Functions

glPointParameterfSGIS()
The Point Parameters Extension
New Procedures and Functions

glPointParameterfvARB()
New Procedures and Functions
OpenGL State Parameters

glPointParameterfvSGI()
New Procedures and Functions

glPointParameterfvSGIS()
The Point Parameters Extension

glPollInstrumentsSGIX()
Retrieving Information
New Functions

glProgramEnv*()
Program Parameter Specification

glProgramEnvParameter4*()
New Functions

glProgramLocal*()
Program Parameter Specification

glProgramLocalParameter4*()
New Functions

glProgramStringARB()
New Functions

glQueryMaxSwapBarriersSGIX()
New Functions

glReadInstrumentsSGIX()
Enabling, Starting, and Stopping Instruments
New Functions

glReadPixels()
Why Use Occlusion Queries?
Pixel Optimizations: Reading and Writing Pixel Data

glReferencePlaneSGIX()
New Function

glResetHistogramEXT()
New Functions

glResetMinmaxEXT()
New Functions

glSampleAlphaToMaskSGIS()
Using a Multisample Mask to Fade Levels of Detail

glSampleMapATI()
New Functions

glSampleMaskSGIS()
Using Advanced Multisampling Options
Using a Multisample Mask to Fade Levels of Detail
New Functions

glSamplePatternSGIS()
Accumulating Multisampled Images
New Functions

glSecondaryColorPointerEXT()
Using Buffer Objects as Vertex Array Sources

glSeparableFilter2DEXT()
Performing Convolution
Separable and General Convolution Filters
New Functions

glSetFragmentShaderConstantATI()
New Functions

glSetInvariantEXT()
New Functions

glSetLocalConstantEXT()
New Functions

glShadeModel()
for performance tuning
Choosing Modes Wisely

glShaderOp1EXT()
New Functions

glShaderOp2EXT()
New Functions

glShaderOp3EXT()
New Functions

glSharpenTexFuncSGIS()
Customizing the LOD Extrapolation Function
New Functions

glSpriteParameterSGIX()
New Function

glStartInstrumentsSGIX()
Enabling, Starting, and Stopping Instruments
New Functions

glStencilFunc()
Using the Separate Stencil Extension

glStencilFuncSeparateATI()
New Functions

glStencilOp()
Using the Separate Stencil Extension

glStencilOpSeparateATI()
New Functions

glStopInstrumentsSGIX()
Enabling, Starting, and Stopping Instruments
New Functions

glSwizzleEXT()
New Functions

glTexCoordPointer()
Using Buffer Objects as Vertex Array Sources

glTexEnvf()
Using The New Texture Combiner Operations
OpenGL State Parameters

glTexEnvi()
Using The New Texture Combiner Operations

glTexFilterFuncSGIS()
Specifying the Filter Function
New Functions

glTexGen()
OpenGL State Parameters

glTexGenf()
OpenGL State Parameters

glTexGeni()
The Texture Coordinate Generation Extensions (Legacy)

glTexImage1D()
Using Floating Point Textures

glTexImage2D()
Using Floating Point Textures
Using S3TC Texture Formats
Using Rectangle Textures
Pixel Optimizations: Reading and Writing Pixel Data

glTexImage2D() and interlacing
SGIX_interlace—The Interlace Extension

glTexImage3D()
Using Floating Point Textures

glTexImage3DEXT
Using 3D Textures

glTexImage3DEXT()
New Functions

glTexParameterf()
Using Anisotropic Texturing

glTexParameteri()
Using Texture Mirroring

glTexSubImage() for clipmap loading
Updating the Clipmap Stack

glTexSubImage3DEXT()
New Functions

GLU header
Compiling With the GLX Extension

GLU include files
Silicon Graphics X Servers

GLU_EXT_nurbs_tessellator
GLU_EXT_NURBS_tessellator—The NURBS Tessellator Extension

GLU_EXT_object_space_tess
GLU_EXT_object_space—The Object Space Tess Extension

GLU_LAGRANGIAN_SGI
SGIS_filter4_parameters—The Filter4 Parameters Extension
Using the Filter4 Parameters Extension

GLU_MITCHELL_NETRAVALI_SGI
SGIS_filter4_parameters—The Filter4 Parameters Extension

GLU_OBJECT_PARAMETRIC_ERROR_EXT
GLU_EXT_object_space—The Object Space Tess Extension

GLU_OBJECT_PATH_LENGTH_EXT
GLU_EXT_object_space—The Object Space Tess Extension

glUnlockArraysEXT()
New Functions

glUnmapBufferARB()
Mapping Buffer Objects to Application Memory
New Functions

glUnmapObjectBufferATI()
New Functions

gluNurbsCallbackDataEXT()
Callbacks Defined by the Extension

gluNurbsProperty()
GLU_EXT_object_space—The Object Space Tess Extension

glUpdateObjectBufferATI()
New Functions

glUseXFont()
X Window System Problems

glVariantArrayObjectATI()
New Functions

glVariantPointerEXT()
New Functions

glVariant{bsifdubusui}vEXT()
New Functions

glVertex3f()
Naming Statements
Vertex Attributes

glVertexAttrib*()
New Functions

glVertexAttrib1*()
Commands

glVertexAttrib2*()
Commands

glVertexAttrib3*()
Commands

glVertexAttrib4*()
Commands

glVertexAttribArrayObjectATI()
New Functions

glVertexAttribPointerARB()
Using Buffer Objects as Vertex Array Sources

glVertexPointer()
Using Buffer Objects as Vertex Array Sources

GLwCreateMDrawingArea()
About OpenGL Drawing-Area Widgets

GLwDrawingAreaMakeCurrent()
Binding the Context to the Window

GLwDrawingAreaSwapBuffers()
Swapping Buffers

glWeightPointerARB()
Using Buffer Objects as Vertex Array Sources

glWindowPos2dARB()
Using the Window-Space Raster Position Extenstion

glWindowPos2dvARB()
Using the Window-Space Raster Position Extenstion

glWindowPos2fARB()
Using the Window-Space Raster Position Extenstion

glWindowPos2fvARB()
Using the Window-Space Raster Position Extenstion

glWindowPos2iARB()
Using the Window-Space Raster Position Extenstion

glWindowPos2ivARB()
Using the Window-Space Raster Position Extenstion

glWindowPos2sARB()
Using the Window-Space Raster Position Extenstion

glWindowPos2svARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3dARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3dvARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3fARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3fvARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3iARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3ivARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3sARB()
Using the Window-Space Raster Position Extenstion

glWindowPos3svARB()
Using the Window-Space Raster Position Extenstion

GLwMDrawingArea widget
About OpenGL Drawing-Area Widgets
and popup
Rubber Banding
choosing the visual
Choosing the Visual for the Drawing-Area Widget
menus
Using Popup Menus With the GLwMDrawingArea Widget
overlays
Introduction to Overlays

GLwMDrawingAreaMakeCurrent()
About OpenGL Drawing-Area Widgets
Using Drawing-Area Widget Callbacks

GLwMDrawingAreaSwapBuffers()
About OpenGL Drawing-Area Widgets

GLwNexposeCallback
Using Drawing-Area Widget Callbacks

GLwNginitCallback
Using Drawing-Area Widget Callbacks

GLwNinputCallback
Using Drawing-Area Widget Callbacks

GLwNresizeCallback
Using Drawing-Area Widget Callbacks

glWriteMaskEXT()
New Functions

GLX
GLX Extension to the X Window System
GLX Extension to the X Window System
Silicon Graphics X Servers
Compiling With the GLX Extension
checking support
Opening the X Display
drawables
GLX Drawables—Windows and Pixmaps
extensions
GLX Extension to X
Opening the X Display
extensions, list of
GLX Extensions
header
Compiling With the GLX Extension
importing indirect context
Importing a Context
pixmaps
GLX Drawables—Windows and Pixmaps
Creating and Using Pixmaps
pixmaps and exposing windows
Exposing a Window
using glXQueryExtension()
Opening the X Display

GLX visual
GLX and Overloaded Visuals

GLX_ARB_get_proc_address extension
ARB_get_proc_address—The Dynamic Query-Function-Pointer Extension

GLX_BUFFER_SIZE
Creating and Using Pixmaps

GLX_DRAWABLE_TYPE_SGIX
FBConfig Constructs

GLX_FBCONFIG_ID
FBConfig Constructs

GLX_GRAY_SCALE_EXT
Using the Visual Info Extension

GLX_NONE_EXT
Using the Visual Rating Extension

GLX_PSEUDO_COLOR
Using the Visual Info Extension

GLX_RENDER_TYPE
FBConfig Constructs

GLX_SAMPLE_BUFFERS_SGIS
Using the Multisample Extension

GLX_SAMPLES_SGIS
Using the Multisample Extension

GLX_SCREEN_EXT
Retrieving Display and Context Information

GLX_SHARE_CONTEXT_EXT
Retrieving Display and Context Information

GLX_SLOW_EXT
Using the Visual Rating Extension

GLX_STATIC_COLOR_EXT
Using the Visual Info Extension

GLX_STATIC_GRAY_EXT
Using the Visual Info Extension

GLX_TRUE_COLOR_EXT
Using the Visual Info Extension

GLX_VISUAL_CAVEAT_EXT
How an FBConfig Is Selected
Using the Visual Rating Extension

GLX_VISUAL_ID_EXT
Retrieving Display and Context Information

GLX_X_RENDERABLE
FBConfig Constructs

GLX_X_VISUAL_TYPE_EXT
Using the Visual Info Extension

glXBindChannelToWindowSGIX()
New Functions

glXBindSwapBarriersSGIX()
Using the Swap Barrier Extension

glXChannelRectSGIX()
New Functions

glXChannelRectSyncSGIX()
Controlling When the Video Resize Update Occurs
New Functions

glXChooseFBConfig()
Rendering to a Pbuffer
FBConfig Constructs
Related Functions
EXT_visual_info—The Visual Info Extension
EXT_visual_rating—The Visual Rating Extension

glXChooseFBConfigSGIX()
How an FBConfig Is Selected

glXChooseVisual()
Selecting a Visual
Choosing the Visual for the Drawing-Area Widget
Overlay Troubleshooting
Some Background on Visuals
Using the Visual Info Extension
Using the Visual Rating Extension
and multisampling
Using the Multisample Extension
Using the Multisample Extension
using FBConfig instead
Using Framebuffer Configurations

GLXContext
Rendering Contexts

glXCopyContext()
Portability

glXCreateContext()
Creating a Rendering Context
FBConfig Constructs

glXCreateGLXPbufferSGIX()
Related Functions

glXCreateGLXPixmap()
FBConfig Constructs
Creating and Using Pixmaps

glXCreateGLXPixmapWithConfigSGIX()
Related Functions

glXCreateNewContext()
FBConfig Constructs
Related Functions

glXCreatePbuffer()
Creating a Pbuffer
Related Functions

glXCreatePixmap()
FBConfig Constructs

glXCreateWindow()
FBConfig Constructs
Related Functions

glXDestroyGLXPbufferSGIX()
Related Functions

glXDestroyPbuffer()
Rendering to a Pbuffer
Related Functions

GLXFBConfig
Describing a Drawable With a GLXFBConfig Construct (FBConfig)
FBConfig Constructs
attributes
FBConfig Constructs
how selected
How an FBConfig Is Selected

glXFreeContextEXT()
New Functions

glXFreeGLXContext()
Importing a Context

glXGetConfig()
Some Background on Visuals

glXGetContextIDEXT()
New Functions

glXGetCurrentDisplayEXT()
Retrieving Display and Context Information
New Functions

glXGetCurrentReadDrawable()
SGI_make_current_read—The Make Current Read Extension

glXGetCurrentReadDrawableSGI()
New Functions

glXGetFBConfigAttrib()
FBConfig Constructs
FBConfig Constructs
Related Functions

glXGetFBConfigAttribSGIX()
How an FBConfig Is Selected

glXGetFBConfigs()
FBConfig Constructs
Related Functions

glXGetGLXContextIDEXT()
Importing a Context

glXGetGLXPbufferConfigSGIX()
Related Functions

glXGetGLXPbufferStatusSGIX()
Related Functions

glXGetLargestGLXPbufferSGIX()
Related Functions

glXGetProcAddressARB()
ARB_get_proc_address—The Dynamic Query-Function-Pointer Extension

glXGetSelectedEvent()
Related Functions

glXGetVideoSyncSGI()
Using the Video Sync Extension
New Functions

glXGetVisualFromFBConfig()
FBConfig Constructs
Related Functions

glXImportContextEXT()
New Functions

glXImportGLXContextEXT()
Importing a Context
Importing a Context

glxinfo
GLX and Overloaded Visuals

glxinfo utility
glxinfo—The glx Information Utility

glXJoinSwapGroupSGIX()
Why Use the Swap Group Extension?

glXMakeContextCurrent()
SGI_make_current_read—The Make Current Read Extension

glXMakeCurrent()
Binding the Context to the Window
Using Drawing-Area Widget Callbacks
Less-Rigid Similarity Requirements When Matching Context and Drawable

glXMakeCurrentReadSGI()
SGI_make_current_read—The Make Current Read Extension
New Functions

glXMakeCurrentSGI()
See also MakeCurrentReadSGI extension
Read and Write Drawables

GLXPbuffers
Using Pixel Buffers

glXQueryChannelRectSGIX()
New Functions

glXQueryContextInfoEXT()
Retrieving Display and Context Information
New Functions

glXQueryDrawable()
Rendering to a Pbuffer
Creating a Pbuffer
Related Functions

glXQueryExtension()
Opening the X Display
Opening the X Display

glXQueryExtensionsString()
Checking for GLX Extension Availability

glXSelectEvent()
Directing the Buffer Clobber Event
Related Functions

glXSwapBuffers()
Swapping Buffers
Creating a Pbuffer
Achieving Accurate Timing Measurements
Mixing Computation With Graphics
and tuning animations
Optimizing Frame Rate Performance

glXSwapIntervalSGI()
SGI_swap_control—The Swap Control Extension
New Functions

glXUseFont()
OpenGL and X: Examples

glXUseXFont()
Using Fonts and Strings

glXWaitGL()
Performance Considerations for X and OpenGL

glXWaitVideoSyncSGI()
Using the Video Sync Extension
New Functions

glXWaitX()
Performance Considerations for X and OpenGL

glyphs
Using Fonts and Strings

Gnome Toolkit (GTK)
Porting Applications between IRIX and Linux

Gouraud shading
Using Expensive Per-Fragment Operations Efficiently

GrayScale visuals
Some Background on Visuals
Less-Rigid Match of GLX Visual and X Visual
Using the Visual Info Extension

ground plane
Mixing Computation With Graphics

grouping primitives
Using Peak-Performance Primitives for Drawing

GTK
Porting Applications between IRIX and Linux
Widgets and the Xt Library

halo effects
Why Use Occlusion Queries?

hardware configuration
System-Specific Tuning

header
for OpenGL, GLU, GLX
Compiling With the GLX Extension

hierarchy
data organization
Optimizing the Data Organization
memory
Memory Organization

high-performance drawing
Tuning the Geometry Subsystem

hints
GL_NICEST smooth hint
Multisampled Points

hinv command
Minimizing Cache Misses

histogram extension
EXT_histogram—The Histogram and Minmax Extensions
example
Using the Histogram Extension
using proxy histograms
Using Proxy Histograms

histogram normalization
SGIX_texture_scale_bias—The Texture Scale Bias Extension

history file
ogldebug Overview

hot spots
About Pipeline Tuning

identity matrix
Tuning the Imaging Pipeline

if-else-if statements
Examples for Optimizing Program Structure

imaging extensions
Imaging Extensions

imaging pipeline
Introduction to Imaging Extensions
location of color table
Lookup Tables in the Image Pipeline
overview
Convolution, Histogram, and Color Table in the Pipeline
tuning
Tuning the Imaging Pipeline

immediate mode
contrasted with display lists
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
machine dependencies
Using libisfast
tuning
CPU Tuning: Immediate Mode Drawing

ImmediateModeIsFast()
Using libisfast
Using libisfast

import context extension
EXT_import_context—The Import Context Extension
shareable information
Importing a Context

include files for OpenGL and X
Compiling With the GLX Extension

indirect rendering
Direct and Indirect Rendering
pbuffers
PBuffers and Pixmaps

indirect rendering contexts
sharing with import context
EXT_import_context—The Import Context Extension

InfiniteReality systems
clipmaps
SGIX_clipmap—The Clipmap Extension
display lists
Miscellaneous Performance Hints
pbuffers
Offscreen Rendering and Framebuffer Management
Miscellaneous Performance Hints
performance tuning
Optimizing Performance on InfiniteReality Systems
sprite extension
SGIX_sprite—The Sprite Extension
texture select extension
Why Use the Texture Select Extension?
texture subimages
Managing Textures on InfiniteReality Systems
textures
Managing Textures on InfiniteReality Systems

inheritance issues
Inheritance Issues

init callback
Using Drawing-Area Widget Callbacks

init() callback
Mapping the Window

input callbacks
Using Drawing-Area Widget Callbacks
Using Drawing-Area Widget Callbacks
Using the Input Callback
Creating Overlays
example
Using the Input Callback
private state
Background Information
when called
Using the Input Callback

input disappears
Keyboard Input Disappears

input events
and overlays
Overlay Troubleshooting

input extension (X)
Xlib Event Handling

input handling
Input Handling With Widgets and Xt
Background Information
actions and translations
Background Information

instruments extension
SGIX_instruments—The Instruments Extension

Intel Itanium CPUs
Differences Between Onyx4 and Silicon Graphics Prism Systems

interlace extension
SGIX_interlace—The Interlace Extension

interleaving computation with graphics
Mixing Computation With Graphics

internal formats
texture select
Why Use the Texture Select Extension?

Intrinsics
Xt Library

invalid border regions
Setting Up the Clipmap Stack

invalid borders
Invalid Borders

IRIS IM
Using OpenGL with the X Window System
and Xt
Xt Library
example program
Simple Motif Example Program
integrating with OpenGL
Integrating Your OpenGL Program With IRIS IM
keyboard traversal
About OpenGL Drawing-Area Widgets
troubleshooting
Keyboard Input Disappears
widgets
Widgets and the Xt Library
Xt Library

IRIS IM widget set
IRIS IM Widget Set
Porting Applications between IRIX and Linux

IRIS ViewKit
IRIS ViewKit
Porting Applications between IRIX and Linux

IRIX Interactive Desktop
Widgets and the Xt Library

IRIX Interactive Desktop environment
Using OpenGL with the X Window System

IsFastOpenXDisplay()
Using libisfast

key bindings
Using Actions and Translations

keyboard focus
Keyboard Input Disappears

keyboard traversal
About OpenGL Drawing-Area Widgets
Keyboard Input Disappears

keyboards
virtual key bindings
Using Actions and Translations

KIL instruction
Fragment Program Instructions

Lagrange interpolation (filter4 parameters extension)
SGIS_filter4_parameters—The Filter4 Parameters Extension

lens flare
Why Use Occlusion Queries?

level of detail (LOD)
Background: Texture Maps and LODs

LG2 instruction
Fragment and Vertex Program Instructions

libisfast
Libraries for Benchmarking
Using libisfast

libpdb
Libraries for Benchmarking

libraries
how to link
Link Lines for Individual Libraries
OpenGL and X
Compiling With the GLX Extension

light points
The Point Parameters Extension

lighting
and material parameters
Lighting Operations With Noticeable Performance Costs
debugging
Lighting Problems
nonlocal viewing
Optimizing Lighting Performance
optimizing
Optimizing Lighting Performance
performance penalty of advanced features
Optimizing Lighting Performance
shininess
Lighting Operations With Noticeable Performance Costs
single-sided
Optimizing Lighting Performance

lighting, per-pixel
Why Use Texture Combiners?

line strips
Using Peak-Performance Primitives for Drawing

linear filtering
Background: Texture Maps and LODs

link lines
Link Lines for Individual Libraries
OpenGL and X
Link Lines for Individual Libraries

list priority extension
SGIX_list_priority—The List Priority Extension

LIT instruction
Fragment and Vertex Program Instructions

load monitoring with instruments
Why Use SGIX_instruments?

loading
optimizing
Tuning the Imaging Pipeline

location of example programs
Example Programs

location of example source code
Location of Example Source Code (IRIX-Specific)

location of specifications
Example Programs

LOD
Background: Texture Maps and LODs
clipmaps
SGIX_clipmap—The Clipmap Extension
multisampling
Using a Multisample Mask to Fade Levels of Detail
specifying minimum/maximum level
Specifying a Minimum or Maximum Level of Detail
texture LOD bias extension
SGIX_texture_lod_bias—The Texture LOD Bias Extension
texture LOD extension
SGIS_texture_lod—The Texture LOD Extension

LOD extrapolation function
Customizing the LOD Extrapolation Function

LOD interpolation curve
Customizing the Detail Function

LOG instruction
Vertex Program Instructions

lookup tables
pixel texture
SGIX_pixel_texture—The Pixel Texture Extension

loops
accessing buffers
Examples for Optimizing Program Structure
for benchmarking
Achieving Accurate Timing Measurements
optimizing
Examples for Optimizing Program Structure
Examples for Optimizing Program Structure
unrolling
Examples for Optimizing Program Structure

LRP instruction
Fragment Program Instructions

Mac OS X window system
Using OpenGL with the X Window System

machine configuration
System-Specific Tuning

macros
Using Specialized Drawing Subroutines and Macros

MAD instruction
Fragment and Vertex Program Instructions

magnification filters
detail texture
Creating a Detail Texture and a Low-Resolution Texture
sharpen texture
How to Use the Sharpen Texture Extension

magnification of textures
SGIS_sharpen_texture—The Sharpen Texture Extension

make current read extension
SGI_make_current_read—The Make Current Read Extension

mapping windows
Mapping the Window

masks
multisample mask
Using a Multisample Mask to Fade Levels of Detail

material parameters
Lighting Operations With Noticeable Performance Costs

MAX instruction
Fragment and Vertex Program Instructions

maximum intensity projection (MIP)
Minmax Blending Extension

maxlod
Virtual Clipmaps

memory
limitations with display lists
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
optimizing display lists
CPU Tuning: Display Lists
paging
Memory Organization
paging caused by hierarchical data structures
Optimizing the Data Organization
savings using several visuals
Running OpenGL Applications Using a Single Visual
structure of
Memory Organization

menus
GLwMDrawingArea widget
Using Popup Menus With the GLwMDrawingArea Widget
multi-visual applications
Running OpenGL Applications Using a Single Visual

meshes
Preprocessing Drawing Data (Meshes and Vertex Loops)

Microsoft Windows
Using OpenGL with the X Window System
Portability

MIN instruction
Fragment and Vertex Program Instructions

minimizing cache misses
Minimizing Cache Misses

minmax blending extension
Minmax Blending Extension

minmax extension
Using the Minmax Part of the Histogram Extension

mipmapping
EXT_texture_filter_anisotropic—The Anisotropic Texture Filtering Extension
Using 3D Textures
and texture LOD bias extension
Background: Texture Maps and LODs
texture LOD extension
SGIS_texture_lod—The Texture LOD Extension

mipmapping See Also texture filter4 extension
SGIS_texture_filter4—The Texture Filter4 Extensions

mipmaps and clipmaps
Clipmap Overview

MIPS CPUs
Differences Between Onyx4 and Silicon Graphics Prism Systems

-mips3
CPU Tuning: Basics

Mitchell-Netravali scheme (filter4 parameters extension)
SGIS_filter4_parameters—The Filter4 Parameters Extension

mode settings
Benchmarking Basics

model view matrix and sprite extension
SGIX_sprite—The Sprite Extension

monitor positions
Configuring Monitor Positions

monitor types (digital and analog)
Configuring Monitor Types

MonitorLayout
Configuring Monitor Types

Motif
Using OpenGL with the X Window System
and Xt
Xt Library
See also IRIS IM, widgets
Simple Motif Example Program

motif/simplest.c example program
Simple Motif Example Program

mouse events
Using the Input Callback
Handling Mouse Events

MOV instruction
Fragment and Vertex Program Instructions

MUL instruction
Fragment and Vertex Program Instructions

multipass multisampling
Accumulating Multisampled Images
Accumulating Multisampled Images

multiple colormaps
Multiple Colormap Issues

multiple processes
Minimizing Cache Misses

multiple processors
Using Additional Processors for Complex Scene Management

multiple processors and sprite extension
SGIX_sprite—The Sprite Extension

multiple visuals
Running OpenGL Applications Using a Single Visual

multisample extension
The Multisample Extension

multisample mask
Using a Multisample Mask to Fade Levels of Detail

multisample points and GL_POINT_FADE_THRESHOLD_SIZE_SGIS
The Point Parameters Extension

multisampling
The Multisample Extension
advanced options
Using Advanced Multisampling Options
and blending
Using Advanced Multisampling Options
choosing visual
Using the Multisample Extension
comparative performance cost
Using Expensive Per-Fragment Operations Efficiently
defining mask
Using a Multisample Mask to Fade Levels of Detail
GL_LINE_SMOOTH
Multisampled Lines
introduction
Introduction to Multisampling
multipass multisampling
Accumulating Multisampled Images
Accumulating Multisampled Images
points
Multisampled Points
polygons
Multisampled Polygons
screen-door transparency
Color Blending and Screen Door Transparency
when to use
When to Use Multisampling

n32 ABI
CPU Tuning: Basics

Nearest-neighbor filtering
Background: Texture Maps and LODs

nonclipped level
Why Do the Clipmap Constraints Work?

nonlocal viewing
Optimizing Lighting Performance

NURBS object
callback
Using the NURBS Tessellator Extension

NURBS tessellator extension
GLU_EXT_NURBS_tessellator—The NURBS Tessellator Extension

NV_point_sprite extension
NV_point_sprite—The Point Sprite Extension

NV_texgen_reflection extension
The Texture Coordinate Generation Extensions (Legacy)

O2 compiler option
CPU Tuning: Basics

o32 ABI
CPU Tuning: Basics

objdump command
Examining Assembly Code

object space tess extension
GLU_EXT_object_space—The Object Space Tess Extension

occlusion queries
Why Use Occlusion Queries?

ogldebug
configuration file
Using a Configuration File
File menu
Using the File Menu to Interact With ogldebug
Options menu
Using the Commands Menu to Interact With Your Program
References menu
Using the References Menu for Background Information
setup
Setting Up ogldebug
trace file
Creating a Trace File to Discover OpenGL Problems

ogldebug debugging tool
Debugging Your Program

ogldebug tool
ogldebug—The OpenGL Debugger

OglExt, extension wrapper library
Extension Wrapper Libraries and Portability Notes

one-dimensional arrays
Examples for Optimizing Data Structures for Drawing

Open Inventor
Open Inventor

OpenGL
coordinate system
X Window System Problems
header
Compiling With the GLX Extension
include files
Compiling With the GLX Extension
integrating with IRIS IM
Integrating Your OpenGL Program With IRIS IM
rendering mode
Some Background on Visuals
speed considerations with X
Mapping the Window
visual
GLX and Overloaded Visuals

OpenGL Performer
Maximizing Performance With OpenGL Performer
SGIX_clipmap—The Clipmap Extension

OpenGL Performer API
swap barrier
Why Use the Swap Barrier Extension?

OpenGL state parameters
OpenGL State Parameters

OpenGL, version support
System Support for OpenGL Versions and Extensions

opening X displays
Opening the X Display

optimizing
compilation
CPU Tuning: Basics
concave polygons
Using Peak-Performance Primitives for Drawing
conditional statements
Examples for Optimizing Program Structure
database by preprocessing
Preprocessing Drawing Data (Meshes and Vertex Loops)
database traversal
Optimizing Database Rendering Code
depth buffering
Using Depth Buffering Efficiently
display lists
CPU Tuning: Display Lists
drawing
Tuning the Geometry Subsystem
frame rates
Optimizing Frame Rate Performance
glDrawPixels()
Drawing Pixels Fast
lighting
Optimizing Lighting Performance
loading
Tuning the Imaging Pipeline
loops
Examples for Optimizing Program Structure
pixel drawing
Drawing Pixels Fast
rendering data
Optimizing the Data Organization
rendering loops
Optimizing Database Rendering Code

Options menu (ogldebug)
Using the Commands Menu to Interact With Your Program

OSF/Motif
Using OpenGL with the X Window System
and Xt
Xt Library
See also widgets, IRIS IM.
Widgets and the Xt Library

osview
Isolating Bottlenecks in Your Application: Overview
Achieving Accurate Timing Measurements
Minimizing Lookups
Measuring Cache-Miss and Page-Fault Overhead

overlay planes
enabling
Enabling Overlay Planes

overlays
Using Overlays
Introduction to Overlays
clipped
Overlay Troubleshooting
colormaps
Overlay Troubleshooting
GLwMDrawingArea widget
Introduction to Overlays
input events
Overlay Troubleshooting
transparency
Introduction to Overlays
troubleshooting
Overlay Troubleshooting
using XRaiseWindow()
Creating Overlays
window hierarchy
Overlay Troubleshooting

overloaded visuals
GLX and Overloaded Visuals

packed pixels extension
EXT_packed_pixels—The Packed Pixels Extension
pixel types
Using Packed Pixels

paging
Memory Organization

parameters determining performance
Benchmarking Basics

pbuffers
GLX Drawables—Windows and Pixmaps
Using Pixel Buffers
and GLXFBConfig
FBConfig Constructs
direct rendering
PBuffers and Pixmaps
indirect rendering
PBuffers and Pixmaps
on InfiniteReality systems
Offscreen Rendering and Framebuffer Management
Miscellaneous Performance Hints
preserved
Volatile and Preserved Pbuffers
rendering
Using Pixmaps
volatile
Volatile and Preserved Pbuffers

PC sampling
Measuring Cache-Miss and Page-Fault Overhead

PCI-X interface
Differences Between Onyx4 and Silicon Graphics Prism Systems

pdb routines
Libraries for Benchmarking

PDB_ALREADY_OPEN error
Using libpdb

PDB_CANT_WRITE error
Using libpdb

PDB_NOT_FOUND error
Using libpdb

PDB_NOT_OPEN error
Using libpdb

PDB_OUT_OF_MEMORY error
Using libpdb

PDB_SYNTAX_ERROR error
Using libpdb

pdbClose()
Using libpdb

pdbMeasureRate()
Example for pdbReadRate()

pdbOpen()
Using libpdb
Using libpdb

pdbWriteRate()
Example for pdbMeasureRate()

perf.c discussion
Tuning Example

perf.c example program
Benchmarks

performance
clearing bitplanes
Using Clear Operations
determining parameters
Benchmarking Basics
estimates
Benchmarking Basics
Achieving Accurate Benchmarking Results
InfiniteReality systems
Optimizing Performance on InfiniteReality Systems
influencing factors
Factors Influencing Performance
instruments
SGIX_instruments—The Instruments Extension
measurements
SGIX_instruments—The Instruments Extension
Onyx4 systems
Optimizing Performance on Onyx4 and Silicon Graphics Prism Systems
penalties with lighting
Optimizing Lighting Performance
Silicon Graphics Prism systems
Optimizing Performance on Onyx4 and Silicon Graphics Prism Systems

Performance DataBase(pdb) routines
Libraries for Benchmarking

per-fragment operations
efficient use
Using Expensive Per-Fragment Operations Efficiently

per-pixel operations
Isolating Bottlenecks in Your Application: Overview

per-polygon operations
finding bottlenecks
Isolating Bottlenecks in Your Application: Overview

pipeline
3-stage model
A Three-Stage Model of the Graphics Pipeline
CPU stage
A Three-Stage Model of the Graphics Pipeline
performance factors
Factors Influencing Performance
raster subsystem
Isolating Bottlenecks in Your Application: Overview
tuning
About Pipeline Tuning

pipeline programs
Vertex and Fragment Program Extensions

pixel buffers
GLX Drawables—Windows and Pixmaps
Using Pixel Buffers

pixel path tuning
Tuning the Imaging Pipeline

pixel raster position
ARB_window_pos—The Window-Space Raster Position Extension

pixel storage modes
Using 3D Textures
EXT_packed_pixels—The Packed Pixels Extension
and import context
Importing a Context

pixel texture extension
SGIX_pixel_texture—The Pixel Texture Extension

pixel types using packed pixels
Using Packed Pixels

pixels
optimizing drawing
Drawing Pixels Fast
transparent
EXT_visual_info—The Visual Info Extension

pixmaps
Using Pixmaps
Creating and Using Pixmaps
and exposing windows
Exposing a Window
and GLXFBConfig
Describing a Drawable With a GLXFBConfig Construct (FBConfig)
FBConfig Constructs
and pbuffer
PBuffers and Pixmaps
as resources
Resources As Server Data
exposing windows
Exposing a Window
rendering
Using Pixmaps
See also X pixmaps, GLX pixmaps.
Creating and Using Pixmaps

planes
overlay
Using Overlays

point parameter extension
The Point Parameters Extension

point sprites
NV_point_sprite—The Point Sprite Extension

points
and multisampling
Multisampled Points
GL_NICEST smooth hint
Multisampled Points

polling instruments
Retrieving Information

polygons
grouping primitives
Using Peak-Performance Primitives for Drawing
influencing performance
Benchmarking Basics
large
Mixing Computation With Graphics
multisampling
Multisampled Polygons
optimizing
Examples for Optimizing Program Structure
Modeling to the Graphics Pipeline
optimizing large polygons
Using Depth Buffering Efficiently
optimum size
Balancing Polygon Size and Pixel Operations
reducing number in example program
Reducing the Number of Polygons

popup menus
Rubber Banding
code fragment
Using Popup Menus With the GLwMDrawingArea Widget
GLwMDrawingArea widget
Rubber Banding

porting, windowing systems
Portability

POW instruction
Fragment and Vertex Program Instructions

preprocessing
introduction
Preprocessing Drawing Data (Meshes and Vertex Loops)
meshes
Preprocessing Drawing Data (Meshes and Vertex Loops)
vertex loops
Preprocessing Drawing Data (Meshes and Vertex Loops)

preserved pbuffer
Volatile and Preserved Pbuffers
buffer clobber event
Directing the Buffer Clobber Event

prof sample output
Using the Profiler

profiler
Using the Profiler

projection matrix debugging
Blank Window

prototyping subroutines
in ANSI C
Examples for Optimizing Program Structure

proxy mechanism
proxy histograms
Using Proxy Histograms

proxy textures
Using 3D Textures

PseudoColor visuals
Some Background on Visuals
Less-Rigid Match of GLX Visual and X Visual
Choosing Which Colormap to Use

Qt toolkit
Porting Applications between IRIX and Linux
Widgets and the Xt Library

quad strips
Using Peak-Performance Primitives for Drawing

QUAD* formats
Using the Texture Select Extension

quad-buffered stereo
Stereo Rendering Background Information

raster subsystem. See fill-limited code.
Isolating Bottlenecks in Your Application: Overview

RCP instruction
Fragment and Vertex Program Instructions

read drawable
Read and Write Drawables

rectangle textures
Why Use Rectangle Textures?

References menu (ogldebug)
Using the References Menu for Background Information

refresh rate of screen
How Frame Rate Determines Animation Speed

remote rendering
advantage of display lists
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects
data traversal
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects

removing backfacing polygons
Using Backface/Frontface Removal

rendering
direct and indirect
Direct and Indirect Rendering
optimizing data
Optimizing the Data Organization
optimizing loops
Optimizing Database Rendering Code

rendering contexts
creating
Creating a Rendering Context
Creating a Rendering Context
definition
Rendering Contexts

rendering extensions
Rendering Extensions

resize callback
Using Drawing-Area Widget Callbacks
Using Drawing-Area Widget Callbacks
Creating Overlays

resource extensions
Resource Control Extensions

Resource Manager
Resources As Server Data

resources
Resources As Server Data
Setting Up Fallback Resources
definition
Resources As Server Data
fallback
Setting Up Fallback Resources
widget properties
Setting Up Fallback Resources

RGBA mode
Background Information About Colormaps
and GLXFBConfig
Less-Rigid Match of GLX Visual and X Visual

rotation problems
Rotation and Translation Problems

RSQ instruction
Fragment and Vertex Program Instructions

rubber banding
Rubber Banding

RunTest()
Tuning Example

S3TC texture formats
EXT_texture_compression_s3tc—The S3 Compressed Texture Format Extension

sample code (See example programs .)
Sample Code

scene graph
CPU Tuning: Basics
Optimizing the Data Organization

screen clear and animations
How Frame Rate Determines Animation Speed

screen refresh time
How Frame Rate Determines Animation Speed

screen-door transparency
Color Blending and Screen Door Transparency

SCS instruction
Fragment Program Instructions

secondary color
EXT_secondary_color—The Secondary Color Extension

segmentation
Why Use a Texture Color Table?

separable convolution filter
Separable and General Convolution Filters

setmon command
Performing Stereo Rendering
Configuring a System for External Genlock or Framelock

setting up ogldebug
Setting Up ogldebug

setting window properties
Creating a Colormap and a Window

SGE instruction
Fragment and Vertex Program Instructions

SGI_color_matrix
SGI_color_matrix—The Color Matrix Extension

SGI_color_table
SGI_color_table—The Color Table Extension

SGI_make_current_read
SGI_make_current_read—The Make Current Read Extension

SGI_swap_control
SGI_swap_control—The Swap Control Extension

SGI_texture_color_table
SGI_texture_color_table—The Texture Color Table Extension

SGI_video_sync
SGI_video_sync—The Video Synchronization Extension

SGIS_detail_texture
SGIS_detail_texture—The Detail Texture Extension

SGIS_filter4_parameters
SGIS_filter4_parameters—The Filter4 Parameters Extension

SGIS_multisample
The Multisample Extension

SGIS_multisample extension
The Multisample Extension

SGIS_point_parameters
The Point Parameters Extension

SGIS_sharpen_texture
SGIS_sharpen_texture—The Sharpen Texture Extension

SGIS_texture_border_clamp
SGIS_texture_edge/border_clamp—Texture Clamp Extensions

SGIS_texture_edge_clamp
SGIS_texture_edge/border_clamp—Texture Clamp Extensions

SGIS_texture_filter4
SGIS_texture_filter4—The Texture Filter4 Extensions

SGIS_texture_lod
SGIS_texture_lod—The Texture LOD Extension

SGIX_clipmap
SGIX_clipmap—The Clipmap Extension

SGIX_depth_texture extension
The Shadow Extensions

SGIX_fbconfig
Using Framebuffer Configurations

SGIX_instruments
SGIX_instruments—The Instruments Extension

SGIX_interlace
SGIX_interlace—The Interlace Extension

SGIX_list_priority
SGIX_list_priority—The List Priority Extension

SGIX_pixel_texture
SGIX_pixel_texture—The Pixel Texture Extension

SGIX_shadow extension
The Shadow Extensions

SGIX_shadow_ambient extension
The Shadow Extensions

SGIX_sprite
SGIX_sprite—The Sprite Extension

SGIX_swap_barrier
SGIX_swap_barrier—The Swap Barrier Extension

SGIX_swap_group
SGIX_swap_group—The Swap Group Extension

SGIX_texture_add_env
SGIX_texture_add_env—The Texture Environment Add Extension

SGIX_texture_lod_bias
SGIX_texture_lod_bias—The Texture LOD Bias Extension

SGIX_texture_scale_bias
SGIX_texture_scale_bias—The Texture Scale Bias Extension

SGIX_texture_select
SGIS_texture_select—The Texture Select Extension

SGIX_video_resize
SGIX_video_resize—The Video Resize Extension

shading
Using Expensive Per-Fragment Operations Efficiently
Smooth Shading Versus Flat Shading

shadow extensions
The Shadow Extensions

sharing resources
Resources As Server Data

sharpen texture extension
SGIS_sharpen_texture—The Sharpen Texture Extension
customizing
Customizing the LOD Extrapolation Function
example program
Sharpen Texture Example Program
magnification filters
How to Use the Sharpen Texture Extension

sheared image
Pixel and Texture Write Problems

simple lighting model
Optimizing Lighting Performance

SIN instruction
Fragment Program Instructions

single-buffer mode
Optimizing Frame Rate Performance

single-channel visuals
FBConfig Constructs

single-sided lighting
Optimizing Lighting Performance

SLT instruction
Fragment and Vertex Program Instructions

smoke
Modeling to the Graphics Pipeline

smooth shading
Smooth Shading Versus Flat Shading

source code for examples
Location of Example Source Code (IRIX-Specific)

specification location
Example Programs

specifying minimum/maximum LOD
Specifying a Minimum or Maximum Level of Detail

speed considerations
Mapping the Window

sphere example
Tuning Example

sprite extension
SGIX_sprite—The Sprite Extension
and multiple processors
SGIX_sprite—The Sprite Extension

stack trace
Inheritance Issues

StaticColor visuals
Some Background on Visuals
Less-Rigid Match of GLX Visual and X Visual
Using the Visual Info Extension

StaticGray visuals
Some Background on Visuals
Less-Rigid Match of GLX Visual and X Visual
Using the Visual Info Extension

stencil buffers
ATI_separate_stencil—The Separate Stencil Extension

StencillingIsFast()
Using libisfast

stereo images
congfiguring
Configuring a System for Stereo

stereo rendering
Stereo Rendering

strings
Using Fonts and Strings
Using Fonts and Strings

strips
Preprocessing Drawing Data (Meshes and Vertex Loops)

SUB instruction
Fragment and Vertex Program Instructions

subimage
Creating a Detail Texture and a Low-Resolution Texture

swap barrier extension
SGIX_swap_barrier—The Swap Barrier Extension

swap control extension
SGI_swap_control—The Swap Control Extension

swap group extension
SGIX_swap_group—The Swap Group Extension

swap groups, synchronizing
SGIX_swap_barrier—The Swap Barrier Extension

swapping buffers
Swapping Buffers

switch statements
Examples for Optimizing Program Structure

swizzling
Program Instructions

SWZ instruction
Fragment and Vertex Program Instructions

synchronizing buffer swaps
SGIX_swap_group—The Swap Group Extension

synchronizing swap groups
SGIX_swap_barrier—The Swap Barrier Extension

synchronizing video
SGI_video_sync—The Video Synchronization Extension

tessellation, object space
GLU_EXT_object_space—The Object Space Tess Extension

tessellations, retrieving
GLU_EXT_NURBS_tessellator—The NURBS Tessellator Extension

Test()
Tuning Example

TEX instruction
Fragment Program Instructions

text handling
Using Fonts and Strings

texture border clamp extension
SGIS_texture_edge/border_clamp—Texture Clamp Extensions

texture borders
Managing Textures on InfiniteReality Systems

texture color table extension
SGI_texture_color_table—The Texture Color Table Extension

texture combiner operations
ATI_texture_env_combine3—New Texture Combiner Operations Extension

texture coordinate generation
The Texture Coordinate Generation Extensions (Legacy)

texture edge clamp extensions
SGIS_texture_edge/border_clamp—Texture Clamp Extensions

texture environment add extension
SGIX_texture_add_env—The Texture Environment Add Extension

texture extensions
Texturing Extensions

texture filter4 extension
SGIS_texture_filter4—The Texture Filter4 Extensions

texture images
and convolution extension
Separable and General Convolution Filters

texture internal formats
texture select
Why Use the Texture Select Extension?

texture LOD bias extension
SGIX_texture_lod_bias—The Texture LOD Bias Extension

texture LOD extension
SGIS_texture_lod—The Texture LOD Extension

texture magnification
SGIS_sharpen_texture—The Sharpen Texture Extension

texture mapping
Using libisfast

texture memory, efficient use
SGIS_texture_select—The Texture Select Extension

texture objects
and detail texture
Using Detail Texture and Texture Object

texture select extension
SGIS_texture_select—The Texture Select Extension

texture subimages on InfiniteReality
Managing Textures on InfiniteReality Systems

texture wrap modes
Using 3D Textures

texture_scale_bias extension
SGIX_texture_scale_bias—The Texture Scale Bias Extension

textured polygons
Modeling to the Graphics Pipeline

TextureMappingIsFast()
Using libisfast

textures
3D texture mapping
EXT_texture3D—The 3D Texture Extension
compressed formats
EXT_texture_compression_s3tc—The S3 Compressed Texture Format Extension
filter4 parameters extension
SGIS_filter4_parameters—The Filter4 Parameters Extension
floating point
Why Use Floating Point Textures?
interlacing
SGIX_interlace—The Interlace Extension
mapping
Why Use Anisotropic Texturing?
mirroring
Why Use Texture Mirroring?
on InifiniteReality systems
Managing Textures on InfiniteReality Systems
optimizing
Choosing Modes Wisely
rectangle textures
Why Use Rectangle Textures?
switching
Choosing Modes Wisely
texture coordinate wrap modes
ATI_texture_mirror_once—The Texture Mirroring Extension
texture filter4 extension
SGIS_texture_filter4—The Texture Filter4 Extensions
texture LOD extension
SGIS_texture_lod—The Texture LOD Extension

texturing
Using Expensive Per-Fragment Operations Efficiently
See also textures
Using Expensive Per-Fragment Operations Efficiently

texturing extensions
Texturing Extensions

three-stage model of the graphics pipeline
A Three-Stage Model of the Graphics Pipeline

tiles
Moving the Clip Center

timing
background processes
Achieving Accurate Timing Measurements
glFinish()
Achieving Accurate Timing Measurements
loops
Achieving Accurate Timing Measurements
measurements
Taking Timing Measurements
Achieving Accurate Timing Measurements

TLB
Memory Organization

top
Isolating Bottlenecks in Your Application: Overview

top-level widget
Creating the Widgets

toroidal loading
Clipmap Textures and Plain Textures
Updating the Clipmap Stack
Moving the Clip Center
Toroidal Loading

trace file
ogldebug Overview

trace files
Creating a Trace File to Discover OpenGL Problems

transform rate
Benchmarking Basics

transform-limited code
finding bottlenecks
Isolating Bottlenecks in Your Application: Overview
tuning
Tuning the Geometry Subsystem

translation-lookaside buffer. See TLB.
Memory Organization

translations. See actions and translations.
Using Actions and Translations

transparency
Other Considerations
in overlays
Introduction to Overlays

transparent pixels
Creating a Colormap and a Window
EXT_visual_info—The Visual Info Extension

traversal
About OpenGL Drawing-Area Widgets
Keyboard Input Disappears
remote rendering
Immediate Mode Drawing Versus Display Lists and Vertex Buffer Objects

traversal of data
CPU Tuning: Basics

triangle fans
Using Peak-Performance Primitives for Drawing

triangle strips
Preprocessing Drawing Data (Meshes and Vertex Loops)
Using Peak-Performance Primitives for Drawing

troubleshooting
IRIS IM input disappears
Keyboard Input Disappears
overlays
Overlay Troubleshooting
widgets
Widget Troubleshooting

TrueColor visuals
Installing the Colormap
Some Background on Visuals
Less-Rigid Match of GLX Visual and X Visual
Choosing Which Colormap to Use

tuning
advanced
CPU Tuning: Advanced Techniques
animations
Tuning Animation
clear
Mixing Computation With Graphics
display lists
CPU Tuning: Display Lists
examining assembly code
Examining Assembly Code
example program
Tuning Example
fundamentals
Tuning Graphics Applications: Fundamentals
immediate mode
CPU Tuning: Immediate Mode Drawing
pipeline
About Pipeline Tuning
pixel path
Tuning the Imaging Pipeline
reducing frame rate
How Frame Rate Determines Animation Speed
single-buffer mode
Optimizing Frame Rate Performance
transform-limited code
Tuning the Geometry Subsystem
using textured polygons
Modeling to the Graphics Pipeline

tuning with instruments
Why Use SGIX_instruments?

TXB instruction
Fragment Program Instructions

TXP instruction
Fragment Program Instructions

underlay planes
Introduction to Overlays

unrolling
Examples for Optimizing Program Structure
Preprocessing Drawing Data (Meshes and Vertex Loops)

updating clipmap stack
Updating the Clipmap Stack

using Xlib
Using Xlib

vertex array objects
The Vertex Array Object Extensions (Legacy)

vertex arrays
Using Vertex Arrays

vertex arrays, compiled
EXT_compiled_vertex_array—The Compiled Vertex Array Extension

vertex attribute aliasing
Attribute Aliasing

vertex buffer objects
ARB_vertex_buffer_object—The Vertex Buffer Object Extension

vertex loops
preprocessing
Preprocessing Drawing Data (Meshes and Vertex Loops)

vertex programs
Vertex and Fragment Program Extensions

vertical retrace
How Frame Rate Determines Animation Speed
Mixing Computation With Graphics

video
interlace extension
SGIX_interlace—The Interlace Extension
stereo rendering
Stereo Rendering

video extensions
Video Extensions

video resize extension
SGIX_video_resize—The Video Resize Extension

video sync extension
SGI_video_sync—The Video Synchronization Extension

virtual clipmaps
Virtual Clipmaps

virtual key bindings
Using Actions and Translations

virtual offset
Virtual Clipmaps

visual info extension
EXT_visual_info—The Visual Info Extension
used in overlay example
Creating Overlays

visual rating extension
EXT_visual_rating—The Visual Rating Extension

visuals
Some Background on Visuals
Some Background on Visuals
and colormaps
Creating a Colormap and a Window
and contexts
Less-Rigid Similarity Requirements When Matching Context and Drawable
choosing
Using Visuals and Framebuffer Configurations
colormaps
Some Background on Visuals
definition
GLX and Overloaded Visuals
GLX and Overloaded Visuals
for multisampling
Using the Multisample Extension
gray scale
Using the Visual Info Extension
memory savings
Running OpenGL Applications Using a Single Visual
mutiple-visual applications
Running OpenGL Applications Using a Single Visual
OpenGL visual
GLX and Overloaded Visuals
overloaded
GLX and Overloaded Visuals
selecting
Selecting a Visual
single-channel
FBConfig Constructs
single-visual applications
Running OpenGL Applications Using a Single Visual
static color
Using the Visual Info Extension
static gray
Using the Visual Info Extension
visual info extension
EXT_visual_info—The Visual Info Extension

volatile pbuffers
Volatile and Preserved Pbuffers
buffer clobber event
Directing the Buffer Clobber Event

volume rendering
Why Use the 3D Texture Extension?
and texture color table
Why Use a Texture Color Table?

WhitePixel color macro
Color Variation Across Colormaps

widget sets
Widgets and the Xt Library

widgets
Widgets and the Xt Library
callbacks
Using Drawing-Area Widget Callbacks
container
Creating the Widgets
definition
Widgets and the Xt Library
drawing-area
About OpenGL Drawing-Area Widgets
error handling
Choosing the Visual for the Drawing-Area Widget
form
Creating Overlays
frame
Creating Overlays
input handling
Background Information
IRIS IM
Widgets and the Xt Library
Xt Library
mapping window
Mapping the Window
properties
Setting Up Fallback Resources
troubleshooting
Widget Troubleshooting
with identical characteristics
Creating Multiple Widgets With Identical Characteristics
XmPrimitive
About OpenGL Drawing-Area Widgets

window manager
4Dwm
Using OpenGL with the X Window System

window properties
setting
Creating a Colormap and a Window

window systems
Mac OS X
Using OpenGL with the X Window System
Microsoft Windows
Using OpenGL with the X Window System
X Window System
Using OpenGL with the X Window System

windowing systems
Portability

windows
as resources
Resources As Server Data
mapping
Mapping the Window
rendering
Using Pixmaps

work procedures. See workprocs.
Controlling an Animation With Workprocs

workprocs
Controlling an Animation With Workprocs
Controlling an Animation With Workprocs
adding
General Workproc Information
example program
Workproc Example
removing
General Workproc Information

wrap modes for textures
Using 3D Textures

write drawable
Read and Write Drawables

X
bitmap fonts
Using Fonts and Strings
color macros
Color Variation Across Colormaps
coordinate system
X Window System Problems
fallback resources
Setting Up Fallback Resources
opening display
Opening the X Display
pixmaps
Creating and Using Pixmaps
resources
Resources As Server Data
speed considerations
Mapping the Window

X double buffering extension
Swapping Buffers

X extensions
double buffering
Swapping Buffers
GLX
Silicon Graphics X Servers

X input extension
Xlib Event Handling

X visual See visuals
GLX and Overloaded Visuals

X window and channel
Using the Video Resize Extension

X Window System
Using OpenGL with the X Window System
introduction
X Window System on Silicon Graphics Systems
terminology
Background and Terminology

XCreateColormap()
Creating a Colormap and a Window
Creating a Colormap and a Window
Overlay Troubleshooting

XCreatePixmap().
Creating and Using Pixmaps

XCreateWindow()
Creating a Colormap and a Window

xdpyinfo
GLX and Overloaded Visuals
Some Background on Visuals

xdpyinfo command
Silicon Graphics X Servers

XF86Config file
configuring for dual-channel
Configuring a System for Dual-Channel Operation
configuring for external framelock
Configuring a System for External Genlock or Framelock
configuring for external Genlock
Configuring a System for External Genlock or Framelock
configuring for full-scene antialiasing
Configuring a System for Full-Scene Antialiasing
configuring for stereo
Configuring a System for Stereo
configuring monitor types
Configuring Monitor Types
enabling overlay planes
Enabling Overlay Planes

XFree()
Using the Visual Info Extension

XFree86 X server
Silicon Graphics X Servers

XGetVisualInfo()
Selecting a Visual
Some Background on Visuals

XID
Resources As Server Data
Importing a Context
for pbuffer
Creating a Pbuffer

XInstallColormap()
Installing the Colormap

Xlib
Xlib Library
colormaps
Colormap Example
event handling
Handling Mouse Events
example program
Simple Xlib Example Program

XMapWindow()
Mapping the Window

XMatchVisualInfo()
Some Background on Visuals

XmCreateSimplePopupMenu()
Using Popup Menus With the GLwMDrawingArea Widget

XmPrimitive widget
About OpenGL Drawing-Area Widgets

XOpenDisplay()
Opening the X Display
Opening the X Display

XPD instruction
Fragment and Vertex Program Instructions

XRaiseWindow()
Introduction to Overlays
Creating Overlays

XSetWMColormapWindows()
Installing the Colormap
Overlay Troubleshooting
Multiple Colormap Issues
Choosing Which Colormap to Use

XSetWMProperties()
Creating a Colormap and a Window
Creating a Colormap and a Window

Xsgi X server
Silicon Graphics X Servers

XStoreName()
Creating a Colormap and a Window

XSynchronize()
Inheritance Issues

Xt
Xt Library
Xt Library

XtAddCallback()
Using Drawing-Area Widget Callbacks

XtAppAddWorkProc()
General Workproc Information

XtCreateManagedChild()
Mapping the Window

XtCreateManagedWidget()
Selecting a Visual

XtOpenApplication()
Opening the X Display
Opening the X Display
Setting Up Fallback Resources
Setting Up Fallback Resources

XtRealizeWidget()
Mapping the Window

XtRemoveWorkProc()
General Workproc Information

z axis
Rotation and Translation Problems