
T
glTexGen
Chapter 18
432
params
Specifies a pointer to an array of texture generation parameters. If
pname is GL_TEXTURE_GEN_MODE, then the array must contain a
single symbolic constant, one of GL_OBJECT_LINEAR,
GL_EYE_LINEAR, or GL_SPHERE_MAP. Otherwise, params holds
the coefficients for the texture-coordinate generation function specified
by pname.
Description
glTexGen selects a texture-coordinate generation function or supplies coefficients for one
of the functions. coord names one of the (s, t, r, q) texture coordinates; it must be one of
the symbols GL_S, GL_T, GL_R, or GL_Q. pname must be one of three symbolic
constants: GL_TEXTURE_GEN_MODE, GL_OBJECT_PLANE, or GL_EYE_PLANE. If
pname is GL_TEXTURE_GEN_MODE, then params chooses a mode, one of
GL_OBJECT_LINEAR, GL_EYE_LINEAR, or GL_SPHERE_MAP. If pname is either
GL_OBJECT_PLANE or GL_EYE_PLANE, params contains coefficients for the
corresponding texture generation function.
If the texture generation function is GL_OBJECT_LINEAR, the function
g = p
1
x
o
+ p
2
y
o
+ p
3
z
o
+ p
4
w
o
is used, where g is the value computed for the coordinate named in coord, p
1
, p
2
, p
3
, and
p
4
are the four values supplied in params, and x
o
, y
o
, z
o
, and w
o
are the object coordinates
of the vertex. This function can be used, for example, to texture-map terrain using sea
level as a reference plane (defined by p
1
, p
2
, p
3
, and p
4
). The altitude of a terrain vertex
is computed by the GL_OBJECT_LINEAR coordinate generation function as its distance
from sea level; that altitude can then be used to index the texture image to map white
snow onto peaks and green grass onto foothills.
If the texture generation function is GL_EYE_LINEAR, the function
g = p
1’
x
e
+ p
2’
y
e
+ p
3’
z
e
+ p
4’
w
e
is used, where
( p
1’
p
2’
p
3’
p
4’
) = ( p
1
p
2
p
3
p
4
) M
-1
and x
e
, y
e
, z
e
, and w
e
are the eye coordinates of the vertex, p
1
, p
2
, p
3
, and p
4
are the
values supplied in params, and M is the modelview matrix when glTexGen is invoked. If
M is poorly conditioned or singular, texture coordinates generated by the resulting
function may be inaccurate or undefined.
Note that the values in params define a reference plane in eye coordinates. The
modelview matrix that is applied to them may not be the same one in effect when the
polygon vertices are transformed. This function establishes a field of texture coordinates
that can produce dynamic contour lines on moving objects.
If pname is GL_SPHERE_MAP and coord is either GL_S or GL_T, s and t texture
coordinates are generated as follows. Let u be the unit vector pointing from the origin to
the polygon vertex (in eye coordinates). Let n’ be the current normal, after
transformation to eye coordinates. Let f = (f
x
f
y
f
z
)
T
be the reflection vector such that
f = u 2n’ n’
T
u
Summary of Contents for c3700 - Workstation
Page 9: ...Chapter 1 9 1 A ...
Page 18: ...A glArrayElement Chapter 1 18 glNormalPointer glTexCoordPointer glVertexPointer ...
Page 19: ...Chapter 2 19 2 B ...
Page 40: ...B gluBuild2DMipmaps Chapter 2 40 ...
Page 41: ...Chapter 3 41 3 C ...
Page 49: ...C glXChooseVisual Chapter 3 49 See Also glXCreateContext glXGetConfig ...
Page 73: ...C glCopyPixels Chapter 3 73 glReadBuffer glReadPixels glStencilFunc ...
Page 84: ...C glCopyTexSubImage2D Chapter 3 84 glTexParameter glTexSubImage1D glTexSubImage2D ...
Page 93: ...Chapter 4 93 4 D ...
Page 99: ...D glDeleteTextures Chapter 4 99 glTexImage1D glTexImage2D glTexParameter ...
Page 127: ...Chapter 5 127 5 E ...
Page 148: ...E glEvalPoint Chapter 5 148 ...
Page 149: ...Chapter 6 149 6 F ...
Page 161: ...Chapter 7 161 7 G ...
Page 164: ...G glGenTextures Chapter 7 164 glTexImage1D glTexImage2D glTexParameter ...
Page 207: ...G glGetPointer Chapter 7 207 glSelectBuffer glTexCoordPointer glVertexPointer ...
Page 225: ...Chapter 8 225 8 H ...
Page 228: ...H glHint Chapter 8 228 ...
Page 229: ...Chapter 9 229 9 I ...
Page 248: ...I glIsTexture Chapter 9 248 ...
Page 249: ...Chapter 10 249 10 L ...
Page 256: ...L glLightModel Chapter 10 256 See Also glLight glMaterial ...
Page 271: ...Chapter 11 271 11 M ...
Page 291: ...Chapter 12 291 12 N ...
Page 312: ...N gluNurbsSurface Chapter 12 312 ...
Page 313: ...Chapter 13 313 13 O ...
Page 317: ...Chapter 14 317 14 P ...
Page 360: ...P glPushName Chapter 14 360 See Also glInitNames glLoadName glRenderMode glSelectBuffer ...
Page 362: ...P gluPwlCurve Chapter 14 362 ...
Page 363: ...Chapter 15 363 15 Q ...
Page 372: ...Q glXQueryVersion Chapter 15 372 glXQueryVersion ...
Page 373: ...Chapter 16 373 16 R ...
Page 390: ...R glRotate Chapter 16 390 ...
Page 391: ...Chapter 17 391 17 S ...
Page 397: ...S glScissor Chapter 17 397 See Also glEnable glViewport ...
Page 409: ...Chapter 18 409 18 T ...
Page 448: ...T glTexImage3DEXT Chapter 18 448 glTexGen glTexImage1D glTexImage2D glTexParameter ...
Page 457: ...T glTexSubImage1D Chapter 18 457 glTexImage2D glTexParameter glTexSubImage2D ...
Page 465: ...T glTranslate Chapter 18 465 See Also glMatrixMode glMultMatrix glPushMatrix glScale ...
Page 466: ...T glTranslate Chapter 18 466 ...
Page 467: ...Chapter 19 467 19 U ...
Page 469: ...U gluUnProject Chapter 19 469 See Also glGet gluProject ...
Page 471: ...U glXUseXFont Chapter 19 471 See Also glBitmap glXMakeCurrent ...
Page 472: ...U glXUseXFont Chapter 19 472 ...
Page 473: ...Chapter 20 473 20 V ...
Page 482: ...V glVisibilityBufferhp Chapter 20 482 ...
Page 483: ...Chapter 21 483 21 W ...
Page 486: ...W glXWaitX Chapter 21 486 ...