`
v5qqcom
  • 浏览: 1287689 次
文章分类
社区版块
存档分类
最新评论

OpenGL函数思考-glTexImage2D

 
阅读更多

OpenGL函数思考-glTexImage2D

函数原型:

void glTexImage2D(GLenum target,GLint level,GLint components,GLsizei width, glsizei height,GLint border,GLenum format,GLenum type, const GLvoid *pixels);

函数说明:

定义一个二维纹理映射。其中

参数target是常数GL_TEXTURE_2D。

参数level表示多级分辨率的纹理图像的级数,若只有一种分辨率,则level设为0。
  参数components是一个从1到4的整数,指出选择了R、G、B、A中的哪些分量用于调整和混合,1表示选择了R分量,2表示选择了R和A两个分量,3表示选择了R、G、B三个分量,4表示选择了R、G、B、A四个分量。
  参数width和height给出了纹理图像的长度和宽度,参数border为纹理边界宽度,它通常为0,width和height必须是2m+2b,这里m是整数,长和宽可以有不同的值,b是border的值。纹理映射的最大尺寸依赖于OpenGL,但它至少必须是使用64x64(若带边界为66x66),若width和height设置为0,则纹理映射有效地关闭。
  参数format和type描述了纹理映射的格式和数据类型,它们在这里的意义与在函数glDrawPixels()中的意义相同,事实上,纹理数据与glDrawPixels()所用的数据有同样的格式。参数format可以是GL_COLOR_INDEX、GL_RGB、GL_RGBA、GL_RED、GL_GREEN、GL_BLUE、GL_ALPHA、GL_LUMINANCE或GL_LUMINANCE_ALPHA(注意:不能用GL_STENCIL_INDEX和GL_DEPTH_COMPONENT)。类似地,参数type是GL_BYPE、GL_UNSIGNED_BYTE、GL_SHORT、 GL_UNSIGNED_SHORT、GL_INT、GL_UNSIGNED_INT、GL_FLOAT或GL_BITMAP。
  参数pixels包含了纹理图像数据,这个数据描述了纹理图像本身和它的边界。

分享到:
评论

相关推荐

    OpenGL 库函数汇总(中文分类)CHM

    目前OpenGL的函数主要包含在3个库中 1.GL 函数库 2.GLU 函数库 3.GLUT 函数库 1.GL 库函数 =================================== 颜色编辑 ------------------- glShadeModel 选择平面明暗模式或光滑明暗...

    OPENGL旋转圆.rar

    d7+opengl 开发示例,D7下编译通过!gluSphere画一球体,glTexImage2D贴图,并自动旋转!并增加了网上下载的gl.pas!

    openGL法线贴图混合纹理贴图以达到更好的物体表面细节

    openGL法线贴图混合纹理贴图以达到更好的物体表面细节 1.凹凸贴图是使用数学公式产生物体表面凹凸特效 2.凹凸贴图的一种替代方法是使用查找表来替换法向量 3.一种使用查找表的常见方法叫作法线贴图。 4.法线贴图使用...

    opengl 期末复习资料

    如何使用OpenGL函数来实现?要求在照相机改变时,该程序应该仍然有效。 7、 如何实现纹理的反走样?说明其原理。 8、 写出场景的反走样算法,并说明其原理。 9、 如何实现采用立方体映射实现的环境映射,写出立方体...

    RugieEngine:使用 LWJGL 的 Java 2D 游戏引擎

    鲁吉引擎 使用 LWJGL 的 Java 2D 引擎

    opengl的太阳系模型

    glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, textureImg.imgWidth,textureImg.imgHeight, 0, GL_RGB, GL_UNSIGNED_BYTE, textureImg.data); } // 初始化OpenGL void InitGL(void) { glClearColor(0.0f, 0.0f, 0.0f...

    openGL程序

    glTexImage2D(GL_TEXTURE_2D,0,GL_RGBA,image.width(),image.height(),0,GL_RGBA,GL_UNSIGNED_BYTE,image.data()); //glTexImage2D(GL_TEXTURE_2D,0,iComponents,iWidth,iHeight,0,eFormat,GL_UNSIGNED_BYTE,...

    3D地形模拟2(带纹理)PC版

    3D地形模拟2(带纹理)PC版 依据一本OpenGL上的例子修改的,在OGLES上没有找到绘画QUAD的函数,就用了两个三角形来替代,主要用到的还有FOG等效果。 带纹理的,主要要用到glTexImage2D,效果如图。使用的时候将纹理...

    opengl橡皮筋

    glTexImage1D(GL_TEXTURE_1D, 0, GL_RGBA, stripeImageWidth, 0, GL_RGBA, GL_UNSIGNED_BYTE, stripeImage); #else glTexImage1D(GL_TEXTURE_1D, 0, 4, stripeImageWidth, 0, GL_RGBA, GL_UNSIGNED_BYTE, ...

    glew-2.1.0.tgz

    glTexImage3D: OK glTexSubImage3D: OK ... ## Code Generation A Unix or Mac environment is needed for building GLEW from scratch to include new extensions, or customize the code generation. The ...

    ogl_fbo_pbo_readback

    FBO创建以后必须绑定缓冲区:颜色、深度必须,模板缓冲区...缓冲区对象并不局限于RBO,纹理对象也可以充当缓冲区对象:创建纹理是glTexImage2D最后一个参数为NULL,在显存中只需要创建纹理对象,而并不需要传纹理数据。

Global site tag (gtag.js) - Google Analytics