blob: fe609e93bf0809bcb4ef3e0cac37836850ba5f8c [file] [log] [blame]
Name
SGIS_line_texgen
Name Strings
GL_SGIS_line_texgen
Version
$Date: 1999/04/03 08:40:53 $ $Revision: 1.3 $
Number
??
Dependencies
Overview
This extension adds two texture coordinate generation modes, both
which generate a texture coordinate based on the minimum distance
from a vertex to a specified line.
New Procedures and Functions
None
New Tokens
Accepted by the <params> parameters of TexGeni, TexGenf, TexGend,
TexGeniv, TexGenfv, and TexGendv:
EYE_DISTANCE_TO_LINE_SGIS
OBJECT_DISTANCE_TO_LINE_SGIS
Accepted by the <pname> parameters of TexGeniv, TexGenfv, and TexGendv:
EYE_LINE_SGIS
OBJECT_LINE_SGIS
Additions to Chapter 2 of the 1.0 Specification (OpenGL Operation)
If TEXTURE_GEN_MODE indicates OBJECT_DISTANCE_TO_LINE_SGIS, then the
generating function for the coordinate indicated by <coord> is
g = || O - (O (dot) D') * D' ||
where
P is a point (px/pw, py/pw, pz/pw)
D is a vector (dx, dy, dz)
D' is the normalized form of D
V' is (xo/wo, yo/wo, zo/wo)
O = V' - P
In other words, g is the distance in object coordinates from the
vertex to the line defined by point P and direction D.
xo, yo, zo, and wo are the object coordinates of the vertex.
P and D are specified together by calling TexGen with <pname> set
to OBJECT_LINE and <params> pointing to an array containing px, py,
pz, pw, dx, dy, and dz, respectively.
If TEXTURE_GEN_MODE indicates EYE_DISTANCE_TO_LINE_SGIS, then the
generating function for the coordinate indicated by <coord> is the
same as above, but P, D, and V' are redefined as:
P is a point (px'/pw', py'/pw', pz'/pw') where
|px|
|py|
(px', py', pz', pw') = M |pz|
|pw|
D is a direction vector (dx', dy', dz') where
-1
(dx', dy', dz') = (dx, dy, dz) M
u
and M is the upper leftmost 3x3 matrix taken from the
u
modelview matrix.
V' is (xe/we, ye/we, ze/we)
In other words, g is the distance in eye coordinates from the
vertex to the line defined by point P and direction D.
xe, ye, ze, and we are the eye coordinates of the vertex.
Additions to Chapter 3 of the 1.0 Specification (Rasterization)
None
Additions to Chapter 4 of the 1.0 Specification (Per-Fragment Operations
and the Frame Buffer)
None
Additions to Chapter 5 of the 1.0 Specification (Special Functions)
None
Additions to Chapter 6 of the 1.0 Specification (State and State Requests)
None
New State
Initial
Get Value Get Command Type Value Attrib
--------- ----------- ---- ------- ------
EYE_LINE_SGIS GetTexGeniv 7 x R {0,0,0,1,0,0,1} texture
OBJECT_LINE_SGIS GetTexGeniv 7 x R {0,0,0,1,0,0,1} texture