openGL之API学习(一八一)glTexGen

产生纹理坐标,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 是顶点。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值