openGL之API学习(一八一)glTexGen

Posted hankern

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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。
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

    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 是顶点。

以上是关于openGL之API学习(一八一)glTexGen的主要内容,如果未能解决你的问题,请参考以下文章

openGL之API学习(一八八)glVertexAttribPointer和glVertexPointer

openGL之API学习(一八五)GLSL ESSL如何监测运行平台

openGL之API学习(一八六)OpenGL/ES requires precision specifier on this float type

openGL之API学习(一八七)gl_Vertex

openGL之API学习(一八二)Link failed because of invalid vertex shader

openGL之API学习(一八九)gl_Position gl_Vertex