15bd8deadSopenharmony_ciXXX - Not complete yet!!!
25bd8deadSopenharmony_ci
35bd8deadSopenharmony_ciName
45bd8deadSopenharmony_ci
55bd8deadSopenharmony_ci    APPLE_specular_vector
65bd8deadSopenharmony_ci
75bd8deadSopenharmony_ciName Strings
85bd8deadSopenharmony_ci
95bd8deadSopenharmony_ci    GL_APPLE_specular_vector
105bd8deadSopenharmony_ci
115bd8deadSopenharmony_ciVersion
125bd8deadSopenharmony_ci
135bd8deadSopenharmony_ci    $Date: 1999/02/13 08:11:19 $ $Revision: 1.1 $
145bd8deadSopenharmony_ci
155bd8deadSopenharmony_ciNumber
165bd8deadSopenharmony_ci
175bd8deadSopenharmony_ci    159
185bd8deadSopenharmony_ci
195bd8deadSopenharmony_ciDependencies
205bd8deadSopenharmony_ci
215bd8deadSopenharmony_ci    None
225bd8deadSopenharmony_ci
235bd8deadSopenharmony_ciOverview
245bd8deadSopenharmony_ci
255bd8deadSopenharmony_ci    An alternative specular lighting model is enabled by passing
265bd8deadSopenharmony_ci    the LIGHT_MODEL_SPECULAR_VECTOR token as the <pname> parameter
275bd8deadSopenharmony_ci    to LightModel, and TRUE as the <param> parameter.  The specular
285bd8deadSopenharmony_ci    vector lighting model calculates the specular intensity as the
295bd8deadSopenharmony_ci    dot product of the true reflection vector of the light source
305bd8deadSopenharmony_ci    and the vector from the vertex to the viewpoint.  This yields
315bd8deadSopenharmony_ci    results that are visually similar to but often more realistic
325bd8deadSopenharmony_ci    than the existing lighting model.  
335bd8deadSopenharmony_ci
345bd8deadSopenharmony_ci    Mathematically, the specular component s.n in the existing
355bd8deadSopenharmony_ci    lighting model calculation is replaced with the following
365bd8deadSopenharmony_ci    alternative calculation.
375bd8deadSopenharmony_ci
385bd8deadSopenharmony_ci    Given three vectors, n, l, and p, where n is the unit normal
395bd8deadSopenharmony_ci    vector at the vertex, l is the unit vector from the vertex to
405bd8deadSopenharmony_ci    the light position, and p is the unit vector from the vertex
415bd8deadSopenharmony_ci    to the viewpoint (or the vector {0,0,1} if
425bd8deadSopenharmony_ci    LIGHT_MODEL_LOCAL_VIEWER is false), the specular component is
435bd8deadSopenharmony_ci    given by
445bd8deadSopenharmony_ci
455bd8deadSopenharmony_ci      (2 * cross(n, cross(n, l)) + l) . p
465bd8deadSopenharmony_ci
475bd8deadSopenharmony_ci    All other lighting model and material parameters (shininess,
485bd8deadSopenharmony_ci    spotlight, attenuation, local viewer, and direction/positional
495bd8deadSopenharmony_ci    sources) operate normally.  The specular vector lighting model
505bd8deadSopenharmony_ci    affects both rgba and index modes.   
515bd8deadSopenharmony_ci
525bd8deadSopenharmony_ciNew Procedures and Functions
535bd8deadSopenharmony_ci
545bd8deadSopenharmony_ci    None
555bd8deadSopenharmony_ci
565bd8deadSopenharmony_ciNew Tokens
575bd8deadSopenharmony_ci
585bd8deadSopenharmony_ci    Accepted by the <pname> parameters of LightModelf, LightModeli,
595bd8deadSopenharmony_ci    LightModelfv, LightModeliv, GetBooleanv, GetDoublev, GetFloatv
605bd8deadSopenharmony_ci    and GetIntegerv :
615bd8deadSopenharmony_ci
625bd8deadSopenharmony_ci    LIGHT_MODEL_SPECULAR_VECTOR_APPLE		0x85B0
635bd8deadSopenharmony_ci
645bd8deadSopenharmony_ciAdditions to Chapter 2 of the 1.1 Specification (OpenGL Operation)
655bd8deadSopenharmony_ci
665bd8deadSopenharmony_ci    XXX - Not complete yet!!!
675bd8deadSopenharmony_ci
685bd8deadSopenharmony_ci   Section 2.13.1, Lighting
695bd8deadSopenharmony_ci	  Table 2.7 should be appended to include:
705bd8deadSopenharmony_ci	  "S_bs   boolean   FALSE   use specular vector lighting model"
715bd8deadSopenharmony_ci
725bd8deadSopenharmony_ci      Equations 2.2 and 2.3 should be updated to reflect the modified
735bd8deadSopenharmony_ci      h_i terms in the specular component, as described above.
745bd8deadSopenharmony_ci
755bd8deadSopenharmony_ci    Section 2.13.2, Lighting Parameter Specification
765bd8deadSopenharmony_ci	  Table 2.8 should be appended to include:
775bd8deadSopenharmony_ci	  "S_bs   LIGHT_MODEL_SPECULAR_VECTOR   1"
785bd8deadSopenharmony_ci
795bd8deadSopenharmony_ciAdditions to Chapter 3 of the 1.1 Specification (Rasterization)
805bd8deadSopenharmony_ci
815bd8deadSopenharmony_ci    None
825bd8deadSopenharmony_ci
835bd8deadSopenharmony_ciAdditions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
845bd8deadSopenharmony_ciand the Frame Buffer)
855bd8deadSopenharmony_ci
865bd8deadSopenharmony_ci    None
875bd8deadSopenharmony_ci
885bd8deadSopenharmony_ciAdditions to Chapter 5 of the 1.1 Specification (Special Functions)
895bd8deadSopenharmony_ci
905bd8deadSopenharmony_ci    None
915bd8deadSopenharmony_ci
925bd8deadSopenharmony_ciAdditions to Chapter 6 of the 1.1 Specification (State and State Requests)
935bd8deadSopenharmony_ci
945bd8deadSopenharmony_ci    Not done
955bd8deadSopenharmony_ci
965bd8deadSopenharmony_ciAdditions to the GLX Specification
975bd8deadSopenharmony_ci
985bd8deadSopenharmony_ciGLX Protocol
995bd8deadSopenharmony_ci
1005bd8deadSopenharmony_ci    None
1015bd8deadSopenharmony_ci
1025bd8deadSopenharmony_ciErrors
1035bd8deadSopenharmony_ci
1045bd8deadSopenharmony_ci    None
1055bd8deadSopenharmony_ci
1065bd8deadSopenharmony_ciNew State
1075bd8deadSopenharmony_ci
1085bd8deadSopenharmony_ci    Get Value	                      Get Command Type Initial Value  Attrib
1095bd8deadSopenharmony_ci    --------------------------------- ----------- ---- ------------- --------
1105bd8deadSopenharmony_ci    LIGHT_MODEL_SPECULAR_VECTOR_APPLE GetBooleanv  B    False        lighting
1115bd8deadSopenharmony_ci
1125bd8deadSopenharmony_ciNew Implementation Dependent State
1135bd8deadSopenharmony_ci
1145bd8deadSopenharmony_ci    None
115