NVIDIA Opengl Extension Specifications
Total Page:16
File Type:pdf, Size:1020Kb
NVIDIA OpenGL Extension Specifications NVIDIA OpenGL Extension Specifications NVIDIA Corporation Mark J. Kilgard, editor [email protected] May 21, 2001 1 NVIDIA OpenGL Extension Specifications Copyright NVIDIA Corporation, 1999, 2000, 2001. This document is protected by copyright and contains information proprietary to NVIDIA Corporation as designated in the document. Other OpenGL extension specifications can be found at: http://oss.sgi.com/projects/ogl-sample/registry/ 2 NVIDIA OpenGL Extension Specifications Table of Contents Table of NVIDIA OpenGL Extension Support.............................. 4 ARB_imaging........................................................... 6 ARB_multisample....................................................... 7 ARB_multitexture..................................................... 18 ARB_texture_border_clamp............................................. 19 ARB_texture_compression.............................................. 25 ARB_texture_cube_map................................................. 48 ARB_texture_env_add.................................................. 62 ARB_texture_env_combine.............................................. 65 ARB_texture_env_dot3................................................. 73 ARB_transpose_matrix................................................. 76 EXT_abgr............................................................. 81 EXT_bgra............................................................. 84 EXT_blend_color...................................................... 86 EXT_blend_minmax..................................................... 89 EXT_blend_subtract................................................... 92 EXT_compiled_vertex_array............................................ 95 EXT_draw_range_elements.............................................. 98 EXT_fog_coord....................................................... 101 EXT_packed_pixels................................................... 108 EXT_paletted_texture................................................ 117 EXT_point_parameters................................................ 125 EXT_rescale_normal.................................................. 130 EXT_secondary_color................................................. 133 EXT_separate_specular_color......................................... 141 EXT_shared_texture_palette.......................................... 146 EXT_stencil_wrap.................................................... 149 EXT_texture_compression_s3tc........................................ 151 EXT_texture3D....................................................... 159 EXT_texture_cube_map................................................ 169 EXT_texture_edge_clamp.............................................. 170 EXT_texture_env_add................................................. 173 EXT_texture_env_combine............................................. 176 EXT_texture_env_dot3................................................ 182 EXT_texture_filter_anisotropic...................................... 185 EXT_texture_lod_bias................................................ 191 EXT_texture_object.................................................. 196 EXT_vertex_array.................................................... 204 EXT_vertex_weighting................................................ 216 IBM_texture_mirrored_repeat......................................... 227 NV_blend_square..................................................... 230 NV_evaluators....................................................... 233 NV_fence............................................................ 249 NV_fog_distance..................................................... 258 NV_light_max_exponent............................................... 262 NV_multisample_filter_hint.......................................... 265 NV_packed_depth_stencil............................................. 269 NV_register_combiners............................................... 277 NV_register_combiners2.............................................. 305 NV_texgen_emboss.................................................... 311 NV_texgen_reflection................................................ 317 NV_texture_compression_vtc.......................................... 320 NV_texture_env_combine4............................................. 325 NV_texture_rectangle................................................ 330 NV_texture_shader................................................... 343 NV_texture_shader2.................................................. 401 NV_vertex_array_range............................................... 412 NV_vertex_array_range2.............................................. 425 NV_vertex_program................................................... 428 SGIS_generate_mipmap................................................ 506 SGIS_texture_lod.................................................... 510 SGIX_depth_texture.................................................. 517 SGIX_shadow......................................................... 520 WGL_ARB_buffer_region............................................... 524 WGL_ARB_extensions_string........................................... 530 WGL_ARB_pbuffer..................................................... 533 WGL_ARB_pixel_format................................................ 540 WGL_EXT_swap_control................................................ 553 3 Table of NVIDIA OpenGL Extension Support NVIDIA OpenGL Extension Specifications Table of NVIDIA OpenGL Extension Support RIVA 128 RIVA TNT NV1x NV2x Extension family family family family Notes ARB_imaging R10 R10 X ARB_multisample X ARB_multitexture X X X ARB_texture_border_clamp X ARB_texture_compression X X ARB_texture_cube_map X X ARB_texture_env_add X X X ARB_texture_env_combine X X ARB_texture_env_dot3 X X ARB_transpose_matrix X X X EXT_abgr X X X X EXT_bgra X X X X 1.2 functionality EXT_blend_color X X ARB_imaging EXT_blend_minmax X X ARB_imaging EXT_blend_subtract X X ARB_imaging EXT_compiled_vertex_array X X X EXT_draw_range_elements X X X 1.2 functionality EXT_fog_coord X X X EXT_packed_pixels X X X X 1.2 functionality EXT_paletted_texture X X EXT_point_parameters X X X X EXT_rescale_normal X X 1.2 functionality EXT_secondary_color X X X EXT_separate_specular_color X X X 1.2 functionality EXT_shared_texture_palette X X EXT_stencil_wrap X X X X EXT_texture_compression_s3tc X X EXT_texture3D sw sw X 1.2 functionality EXT_texture_cube_map X X use ARB version EXT_texture_edge_clamp X X X 1.2 functionality EXT_texture_env_add X X X see ARB version EXT_texture_env_dot3 X X see ARB version EXT_texture_env_combine X X X see ARB version EXT_texture_filter_anisotropic X X EXT_texture_lod_bias R10 X X EXT_texture_object X X X X 1.1 functionality EXT_vertex_array X X X X 1.1 functionality EXT_vertex_weighting X X X KTX_buffer_region X X X X IBM_texture_mirrored_repeat X X X NV_blend_square X X X NV_evaluators R10 R10 X NV_fence XX NV_fog_distance X X X NV_light_max_exponent X X X NV_multisample_filter_hint X NV_register_combiners X X NV_register_combiners2 em X NV_texgen_emboss X NV_texgen_reflection X X X X NV_texture_compression_vtc NV_texture_env_combine4 X X X NV_texture_rectangle X X NV_texture_shader em X NV_texture_shader2 NV_vertex_array_range X X NV_vertex_array_range2 R10 R10 NV_vertex_program R10 X SGIS_generate_mipmap R10 X SGIS_multitexture X X X use ARB version SGIS_texture_lod X X 1.2 functionality SGIX_depth_texture em X SGIX_shadow em X WGL_ARB_buffer_region X X X Win32 WGL_ARB_extensions_string X X X Win32 WGL_ARB_pixel_format R10 R10 X X Win32 WGL_ARB_pbuffer R10 R10 X Win32 WGL_EXT_extensions_string X X X Win32 WGL_EXT_swap_control X X X Win32 WIN_swap_hint X X X X Win32 4 NVIDIA OpenGL Extension Specifications Table of NVIDIA OpenGL Extension Support Key for table entries: X = supported sw = supported by software rasterization (expect poor performance) em = like sw, but only supported when “NV20 emulate” mode is enabled using Release 10 R10 = introduced in the Release 10 OpenGL driver (not supported by earlier drivers) Warning: The extension support columns are based on the latest & greatest NVIDIA driver release (unless otherwise noted). Check your GL_EXTENSIONS string with glGetString at run-time to determine the specific supported extensions for a particular driver version. 5 ARB_imaging NVIDIA OpenGL Extension Specifications Name ARB_imaging Name Strings GL_ARB_imaging NOTE: This extension does not have its own specification document, since it has been included in the OpenGL 1.2.1 Specification (downloadable from www.opengl.org). Please refer to the 1.2.1 Specification for more information. 6 NVIDIA OpenGL Extension Specifications ARB_multisample Name ARB_multisample Name Strings GL_ARB_multisample GLX_ARB_multisample WGL_ARB_multisample Status Approved by ARB on 12/8/1999. GLX protocol must still be defined. Version Last Modified Date: December 15, 1999 Author Revision: 0.5 Based on: SGIS_Multisample Specification Date: 1994/11/22 Revision: 1.14 Number ARB Extension #5 Dependencies WGL_EXT_extensions_string is required. WGL_EXT_pixel_format is required. Overview This extension provides a mechanism to antialias all GL primitives: points, lines, polygons, bitmaps, and images. The technique is to sample all primitives multiple times at each pixel. The color sample values are resolved to a single, displayable color each time a pixel is updated, so the antialiasing appears to be automatic at the application level.