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学习(一八二)Link failed because of invalid vertex shader