X-Git-Url: http://git.hcoop.net/clinton/guile-figl.git/blobdiff_plain/b002944dd992dc5a273e0067504beb48e1ae3d1c..a6a00658f26c164551287799b194cc2f07eb78be:/upstream-doc/man3/fo/glTexGen.fo diff --git a/upstream-doc/man3/fo/glTexGen.fo b/upstream-doc/man3/fo/glTexGen.fo new file mode 100644 index 0000000..7de53dd --- /dev/null +++ b/upstream-doc/man3/fo/glTexGen.fo @@ -0,0 +1,648 @@ + +glTexGenglTexGenNameNameglTexGen -- control the generation of texture coordinatesC SpecificationC Specification void glTexGeni(coord, pname, param); GLenum coord; GLenum pname; GLint param; void glTexGenf(coord, pname, param); GLenum coord; GLenum pname; GLfloat param; void glTexGend(coord, pname, param); GLenum coord; GLenum pname; GLdouble param;PARAMETERSPARAMETERScoordcoord + Specifies a texture coordinate. + Must be one of GL_S, GL_T, GL_R, or GL_Q. + pnamepname + Specifies the symbolic name of the texture-coordinate generation function. + Must be GL_TEXTURE_GEN_MODE. + paramparam + Specifies a single-valued texture generation parameter, + one of GL_OBJECT_LINEAR, GL_EYE_LINEAR, GL_SPHERE_MAP, + GL_NORMAL_MAP, or GL_REFLECTION_MAP. + C SpecificationC Specification void glTexGeniv(coord, pname, params); GLenum coord; GLenum pname; const GLint * params; void glTexGenfv(coord, pname, params); GLenum coord; GLenum pname; const GLfloat * params; void glTexGendv(coord, pname, params); GLenum coord; GLenum pname; const GLdouble * params;PARAMETERSPARAMETERScoordcoord + Specifies a texture coordinate. + Must be one of GL_S, GL_T, GL_R, or GL_Q. + pnamepname + Specifies the symbolic name of the texture-coordinate generation function + or function parameters. + Must be + GL_TEXTURE_GEN_MODE, + GL_OBJECT_PLANE, or + GL_EYE_PLANE. + paramsparams + 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, + GL_SPHERE_MAP, + GL_NORMAL_MAP, or + GL_REFLECTION_MAP. + Otherwise, + params holds the coefficients for the texture-coordinate generation function + specified by pname. + DESCRIPTIONDESCRIPTION + 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, + GL_SPHERE_MAP, + GL_NORMAL_MAP, or + GL_REFLECTION_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 sup prime 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 + - + 2 + ⁢ + n + ″ + + ⁢ + + n + ″ + + + T + + ⁢ + u + + + + + Finally, let + + + + m + = + + 2 + ⁢ + + + + + f + x + + + 2 + + + + + f + y + + + 2 + + + + + + f + z + + + + 1 + + + 2 + + + + + + + + . + Then the values assigned to the + s + and + t + texture coordinates are + + + + + s + = + + + f + x + + m + + + + + 1 + 2 + + + + + + + + + t + = + + + f + y + + m + + + + + 1 + 2 + + + + + + To enable or disable a texture-coordinate generation function, call + glEnable or glDisable + with one of the symbolic texture-coordinate names + (GL_TEXTURE_GEN_S, + GL_TEXTURE_GEN_T, + GL_TEXTURE_GEN_R, or + GL_TEXTURE_GEN_Q) as the argument. + When enabled, + the specified texture coordinate is computed + according to the generating function associated with that coordinate. + When disabled, + subsequent vertices take the specified texture coordinate + from the current set of texture coordinates. Initially, all texture + generation functions are set to GL_EYE_LINEAR and are disabled. + Both + s + plane equations are (1, 0, 0, 0), + both + t + plane equations are (0, 1, 0, 0), + and all + r + and + q + plane equations are (0, 0, 0, 0). + + When the ARB_multitexture extension is supported, glTexGen set the + texture generation parameters for the currently active texture unit, + selected with glActiveTexture. + ERRORSERRORS + GL_INVALID_ENUM is generated when coord or pname is not an + accepted defined value, + or when pname is GL_TEXTURE_GEN_MODE and params is not an + accepted defined value. + + GL_INVALID_ENUM is generated when pname is GL_TEXTURE_GEN_MODE, + params is GL_SPHERE_MAP, + and coord is either GL_R or GL_Q. + + GL_INVALID_OPERATION is generated if glTexGen + is executed between the execution of glBegin + and the corresponding execution of glEnd. + ASSOCIATED GETSASSOCIATED GETS + glGetTexGen + + glIsEnabled with argument GL_TEXTURE_GEN_S + + glIsEnabled with argument GL_TEXTURE_GEN_T + + glIsEnabled with argument GL_TEXTURE_GEN_R + + glIsEnabled with argument GL_TEXTURE_GEN_Q + SEE ALSOSEE ALSO + glActiveTexture, + glCopyPixels, + glCopyTexImage2D, + glCopyTexSubImage1D, + glCopyTexSubImage2D, + glCopyTexSubImage3D, + glTexEnv, + glTexImage1D, + glTexImage2D, + glTexImage3D, + glTexParameter, + glTexSubImage1D, + glTexSubImage2D, + glTexSubImage3D + COPYRIGHTCOPYRIGHT + Copyright © 1991-2006 + Silicon Graphics, Inc. This document is licensed under the SGI + Free Software B License. For details, see + http://oss.sgi.com/projects/FreeB/. +