- 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