Back to the OpenGL extension cross reference

GL_NV_light_max_exponent


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 <pname> 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.

Implementation Support


   List of OpenGL implementations supporting the GL_NV_light_max_exponent extension

Original File


   Original text file for the GL_NV_light_max_exponent extension


Page generated on Sun Nov 20 18:39:05 2005