openGL之API学习(二零零)GL_TEXTURE_GEN_S GL_TEXTURE_GEN_T GL_TEXTURE_GEN_R GL_TEXTURE_GEN_Q

Posted hankern

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了openGL之API学习(二零零)GL_TEXTURE_GEN_S GL_TEXTURE_GEN_T GL_TEXTURE_GEN_R GL_TEXTURE_GEN_Q相关的知识,希望对你有一定的参考价值。

通过glEnable来开启S,T,R和Q的纹理坐标自动生成。当自动生成纹理坐标的功能被开启,那么glTexCoord的函数调用将被忽略。

glEnable(GL_TEXTURE_GEN_S);

glEnable(GL_TEXTURE_GEN_T);

glEnable(GL_TEXTURE_GEN_R);

glEnable(GL_TEXTURE_GEN_Q);

OpenGL为自动为每一个顶点计算纹理坐标。我们可以通过相应的glDisable来关闭纹理坐标的自动生成。


我们可以通过下面的两个函数来设置自动生成纹理坐标的方法:
void glTexGenf(GLenum coord, GLenum pname, GLfloat param);
void glTexGenfv(GLenum coord, GLenum pname, GLfloat *param);
第一个参数指定了纹理坐标轴,可以是GL_S,GL_T,GL_R或GL_Q。第二个参数必须是GL_TEXTURE_SPHERE,GL_OBJECT_PLANE或GL_EYE_PLANE.最后一个参数设置纹理生成的方法或模式。glTexGen也有相应的GLint和GLdouble模式。

以上是关于openGL之API学习(二零零)GL_TEXTURE_GEN_S GL_TEXTURE_GEN_T GL_TEXTURE_GEN_R GL_TEXTURE_GEN_Q的主要内容,如果未能解决你的问题,请参考以下文章

openGL之API学习(一九五)OpenGL error ‘invalid enumerant‘

openGL之API学习(一六九)glVertexPointer

openGL之API学习(二零一)glTexGen

openGL之API学习(一八一)glTexGen

openGL之API学习(二零九)glColor

openGL之API学习(一七五)如何查看显卡支持了多少OpenGL扩展