产生纹理坐标,opengl es无此函数。启用后,根据与该坐标关联的生成函数计算指定的纹理坐标。禁用时,后续顶点从当前纹理坐标集中获取指定的纹理坐标。
void glTexGeni( GLenum coord,
GLenum pname,
GLint param);
void glTexGenf( GLenum coord,
GLenum pname,
GLfloat param);
void glTexGend( GLenum coord,
GLenum pname,
GLdouble param);
void glTexGeniv( GLenum coord,
GLenum pname,
const GLint * params);
void glTexGenfv( GLenum coord,
GLenum pname,
const GLfloat * params);
void glTexGendv( GLenum coord,
GLenum pname,
const GLdouble * params);
coord
Specifies a texture coordinate. Must be one of GL_S, GL_T, GL_R, or GL_Q.
指定纹理坐标。必须是 GL_S、GL_T、GL_R 或 GL_Q 之一。
pname
Specifies the symbolic name of the texture-coordinate generation function. Must be GL_TEXTURE_GEN_MODE.
指定纹理坐标生成函数的符号名称。必须是 GL_TEXTURE_GEN_MODE。
pname(带v时的参数)
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.
指定纹理坐标生成函数或函数参数的符号名称。必须是 GL_TEXTURE_GEN_MODE、GL_OBJECT_PLANE 或 GL_EYE_PLANE。
param
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.
指定单值纹理生成参数,GL_OBJECT_LINEAR、GL_EYE_LINEAR、GL_SPHERE_MAP、GL_NORMAL_MAP 或 GL_REFLECTION_MAP 之一。
params(带v时的参数)
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.
指定指向纹理生成参数数组的指针。如果 pname 是 GL_TEXTURE_GEN_MODE,则数组必须包含单个符号常量,即 GL_OBJECT_LINEAR、GL_EYE_LINEAR、GL_SPHERE_MAP、GL_NORMAL_MAP 或 GL_REFLECTION_MAP 之一。否则,params 保存 pname 指定的纹理坐标生成函数的系数。
pname 必须是三个符号常量之一:GL_TEXTURE_GEN_MODE、GL_OBJECT_PLANE 或 GL_EYE_PLANE。如果 pname 是 GL_TEXTURE_GEN_MODE,则 params 选择一种模式,GL_OBJECT_LINEAR、GL_EYE_LINEAR、GL_SPHERE_MAP、GL_NORMAL_MAP 或 GL_REFLECTION_MAP 之一。如果 pname 是 GL_OBJECT_PLANE 或 GL_EYE_PLANE,则 params 包含相应纹理生成函数的系数。
如果纹理生成函数是GL_OBJECT_LINEAR,函数
g = p 1 × x o + p 2 × y o + p 3 × z o + p 4 × w o
使用,其中 g 是为 coord 中命名的坐标计算的值,p 1 、 p 2 、 p 3 和 p 4 是 params 中提供的四个值, xo 、 yo 、 zo 和 wo 是顶点。