• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1Name
2
3    NV_light_max_exponent
4
5Name Strings
6
7    GL_NV_light_max_exponent
8
9Contact
10
11    Mark J. Kilgard, NVIDIA Corporation (mjk 'at' nvidia.com)
12
13Notice
14
15    Copyright NVIDIA Corporation, 1999, 2000.
16
17Status
18
19    Shipping (version 1.0)
20
21Version
22
23    May 20, 2000
24    $Date$ $Revision$
25
26Number
27
28    189
29
30Dependencies
31
32    None
33
34Overview
35
36    Default OpenGL does not permit a shininess or spot exponent over
37    128.0.  This extension permits implementations to support and
38    advertise a maximum shininess and spot exponent beyond 128.0.
39
40    Note that extremely high exponents for shininess and/or spot light
41    cutoff will require sufficiently high tessellation for acceptable
42    lighting results.
43
44    Paul Deifenbach's thesis suggests that higher exponents are
45    necessary to approximate BRDFs with per-vertex ligthing and
46    multiple passes.
47
48New Procedures and Functions
49
50    None
51
52New Tokens
53
54    Accepted by the <pname> parameters of GetBooleanv, GetIntegerv,
55    GetFloatv, and GetDoublev:
56
57        MAX_SHININESS_NV                  0x8504
58        MAX_SPOT_EXPONENT_NV              0x8505
59
60Additions to Chapter 2 of the GL Specification (OpenGL Operation)
61
62    In Table 2.7, change the srm range entry to read:
63
64    "(range: [0.0, value of MAX_SHININESS_NV])"
65
66    In Table 2.7, change the srli range entry to read:
67
68    "(range: [0.0, value of MAX_SPOT_EXPONENT_NV])"
69
70    Add to the end of the second paragraph in Section 2.13.2:
71
72    "The values of MAX_SHININESS_NV and MAX_SPOT_EXPONENT_NV are
73    implementation dependent, but must be equal or greater than 128."
74
75Additions to Chapter 3 of the GL Specification (Rasterization)
76
77    None
78
79Additions to Chapter 4 of the GL Specification (Per-Fragment Operations
80and the Framebuffer)
81
82    None.
83
84Additions to Chapter 5 of the GL Specification (Special Functions)
85
86    None
87
88Additions to Chapter 6 of the GL Specification (State and State Requests)
89
90    None
91
92Additions to the GLX Specification
93
94    None
95
96GLX Protocol
97
98    None
99
100Errors
101
102    INVALID_VALUE is generated by Material if enum is SHININESS and the
103    shininess param is greater than the MAX_SHININESS_NV.
104
105    INVALID_VALUE is generated by Material if enum is SPOT_EXPONENT and
106    the shininess param is greater than the MAX_SPOT_EXPONENT_NV.
107
108New State
109
110    None.
111
112New Implementation Dependent State
113
114(table 6.24, p214) add the following entries:
115
116    Get Value                     Type    Get Command   Minimum Value   Description         Sec     Attribute
117    ---------------------------   ----    -----------   -------------   -----------------   ------  --------------
118    MAX_SHININESS_NV              Z+      GetIntegerv   128             Maximum             2.13.2  -
119                                                                        shininess for
120                                                                        specular lighting
121    MAX_SPOT_EXPONENT_NV          Z+      GetIntegerv   128             Maximum             2.13.2  -
122                                                                        exponent for
123                                                                        spot lights
124
125NVIDIA Implementation Details
126
127    NVIDIA's Release 4 drivers incorrectly and accidently advertised this
128    extension with an "EXT" prefix instead of an "NV" prefix.  Release 5
129    and later drivers correctly advertise this extension with an "NV"
130    extension.
131
132Revision History
133
134    5/20/00 - earlier versions of this specification had the incorrect
135    enumerant values which did not match NVIDIA's driver implementation.
136