Some new graphic controller generations bring new stages in graphic programming, and we are facing such a stage which, with OpenGL,
goes further than the very media geometry shader. If we just go back to the NVIDIA GPU's history, the GeForce 256 and GeForce 2
allowed vertex acceleration and, later on, their programming. Regarding the GeForce 3 and 4, they have contributed a lot to
texture combining, but have also diversified texture formats (cube map, shadows, 3d texture, etc.). For the GeForce 5, it
brought a real programming of the fragments processing, while the GeForce 6/7 stamped their time with the development of
the float internal format of all type of textures, 2D texture, frame buffer, non power of two textures, which caused some hysteria about
the High Dynamic Range (HDR).
Now, the GeForce 8800 philosophy seems pointing towards data handling and their storage. Bindable uniform, texture array,
texture integer, texture buffer, transform feedback are among many notions that are focusing on this target which will bring
us to the GPGPUs programming (General Purpose Graphic Processing Unit).
The GeForce 8800 features about 21 new OpenGL extensions, which makes a total of 150 OpenGL extensions [1] on this board. Here is the list:
- EXT_bindable_uniform
- EXT_draw_buffers2
- EXT_draw_instanced
- EXT_framebuffer_sRGB
- EXT_geometry_shader4
- EXT_gpu_shader4
- EXT_packed_float
- EXT_texture_array
- EXT_texture_buffer_object
- EXT_texture_compression_latc
- EXT_texture_compression_rgtc
- EXT_texture_integer
- EXT_texture_shared_exponent
- NV_depth_buffer_float
- NV_fragment_program4
- NV_framebuffer_multisample_coverage
- NV_geometry_program4
- NV_gpu_program4
- NV_parameter_buffer_object
- NV_transform_feedback
- NV_vertex_program4
Wouah! Unlike one could think, all those extensions are exclusively proprietary and have been developed by nVidia. There are
two exceptions with some S3 contribution for EXT_texture_compression_latc and EXT_texture_compression_rgtc.
Editor's Notes
- [1]: You can use the GPU Caps Viewer utility to see all OpenGL extensions supported by your
graphics card: GPU Caps Viewer Homepage.