• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1XXX - Not complete yet!!!
2
3Name
4
5    SGIX_vector_ops
6
7Name Strings
8
9    GL_SGIX_vector_ops
10
11Version
12
13    $Date: 1997/11/24 09:37:13 $ $Revision: 1.1 $
14
15Number
16
17    XXX
18
19Dependencies
20
21    OpenGL 1.1 is required.
22    SGIX_fragment_light affects the definition of this extension.
23
24Overview
25
26    With the increased use of multi-pass algorithms depending on using
27    more in-the-pipe calculations, it becomes interesting to provide
28    additional support for some of the basic vector operations.
29    This extension adds two new operations, the vector normalization
30    function, and the vector cross-product operation.
31    When enabled, vector normalization or cross-product is in lieu
32    of the normal lighting.  In other words, the resulting vector replaces
33    the lighted fragment color and the X, Y, and Z components comprise
34    the red, green, and blue values of the fragment, respectively.  Alpha
35    is set to zero.
36
37Issues
38
39    *	Should these two vector operations be separated into two
40	independent specifications?
41
42
43New Procedures and Functions
44
45    void VectorOperationSGIX(enum operation);
46    void GetVectorOperationSGIX(enum operation);
47
48New Tokens
49
50    Accepted by the <operation> parameter of VectorOperationSGIX
51    and GetVectorOperationSGIX,
52
53    VECTOR_NORMALIZATION_SGIX		0x????
54    VECTOR_CROSS_PRODUCT_SGIX		0x????
55
56
57    Accepted by the <cap> parameter of Enable, Disable, and IsEnabled,
58
59    VECTOR_OPERATIONS_SGIX		0x????
60
61
62Additions to the chapter on per fragment lighting
63
64    When enabled, the vector operations supercede the usual operation
65    of the per-fragment lighting.  Instead of the lighted fragment color,
66    the color components produced by the fragment ligher are the three
67    components of the vector operation specified by VectorOperationSGIX.
68
69    The vector normal operation computes a new unit vector in the direction
70    of the current per-fragment normal vector.	This normal vector is
71    the result of interpolating the per-vertex supplied normal.
72
73    The vector cross-product operation computed a new unit vector in
74    the direction perpendicular to the per-fragment normal and view vectors
75    using the standard cross-product operation.
76
77Additions to Chapter 3 of the 1.1 Specification (Rasterization)
78
79    None
80
81Additions to Chapter 4 of the 1.1 Specification (Per-Fragment Operations
82and the Frame Buffer)
83
84    None
85
86Additions to Chapter 5 of the 1.1 Specification (Special Functions)
87
88    None
89
90Additions to Chapter 6 of the 1.1 Specification (State and State Requests)
91
92    TBD
93
94Additions to the GLX Specification
95
96    TBD
97
98Dependencies on SGIX_fragment_light
99
100    If SGIX_fragment_light is not implemented, references to fragment
101    lighting in this document are invalid and should be ignored.
102
103Errors
104
105    GL_INVALID_VALUE is generated if the requested vector operation is not
106    one of VECTOR_NORMALIZATION_SGIX or VECTOR_CROSS_PRODUCT_SGIX.
107
108New State
109
110    Get Value			Get Command		Type	Initial Value	Attribute
111    ---------			-----------		----	-------------	---------
112    VECTOR_OPERATIONS_SGIX	GetVectorOperationfv	?????	?????		lighting
113
114New Implementation Dependent State
115
116    None
117