Name NV_light_max_exponent Name Strings GL_NV_light_max_exponent Contact Mark J. Kilgard, NVIDIA Corporation (mjk 'at' nvidia.com) Notice Copyright NVIDIA Corporation, 1999, 2000. Status Shipping (version 1.0) Version May 20, 2000 $Date$ $Revision$ Number 189 Dependencies None Overview Default OpenGL does not permit a shininess or spot exponent over 128.0. This extension permits implementations to support and advertise a maximum shininess and spot exponent beyond 128.0. Note that extremely high exponents for shininess and/or spot light cutoff will require sufficiently high tessellation for acceptable lighting results. Paul Deifenbach's thesis suggests that higher exponents are necessary to approximate BRDFs with per-vertex ligthing and multiple passes. New Procedures and Functions None New Tokens Accepted by the parameters of GetBooleanv, GetIntegerv, GetFloatv, and GetDoublev: MAX_SHININESS_NV 0x8504 MAX_SPOT_EXPONENT_NV 0x8505 Additions to Chapter 2 of the GL Specification (OpenGL Operation) In Table 2.7, change the srm range entry to read: "(range: [0.0, value of MAX_SHININESS_NV])" In Table 2.7, change the srli range entry to read: "(range: [0.0, value of MAX_SPOT_EXPONENT_NV])" Add to the end of the second paragraph in Section 2.13.2: "The values of MAX_SHININESS_NV and MAX_SPOT_EXPONENT_NV are implementation dependent, but must be equal or greater than 128." Additions to Chapter 3 of the GL Specification (Rasterization) None Additions to Chapter 4 of the GL Specification (Per-Fragment Operations and the Framebuffer) None. Additions to Chapter 5 of the GL Specification (Special Functions) None Additions to Chapter 6 of the GL Specification (State and State Requests) None Additions to the GLX Specification None GLX Protocol None Errors INVALID_VALUE is generated by Material if enum is SHININESS and the shininess param is greater than the MAX_SHININESS_NV. INVALID_VALUE is generated by Material if enum is SPOT_EXPONENT and the shininess param is greater than the MAX_SPOT_EXPONENT_NV. New State None. New Implementation Dependent State (table 6.24, p214) add the following entries: Get Value Type Get Command Minimum Value Description Sec Attribute --------------------------- ---- ----------- ------------- ----------------- ------ -------------- MAX_SHININESS_NV Z+ GetIntegerv 128 Maximum 2.13.2 - shininess for specular lighting MAX_SPOT_EXPONENT_NV Z+ GetIntegerv 128 Maximum 2.13.2 - exponent for spot lights NVIDIA Implementation Details NVIDIA's Release 4 drivers incorrectly and accidently advertised this extension with an "EXT" prefix instead of an "NV" prefix. Release 5 and later drivers correctly advertise this extension with an "NV" extension. Revision History 5/20/00 - earlier versions of this specification had the incorrect enumerant values which did not match NVIDIA's driver implementation.