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

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-html-funciton-manual

    包括顶点处理(如`glVertex()`)、图元装配(`glBegin()`和`glEnd()`)、着色(`glColor()`)、投影和模型视图变换(`glTranslate()`、`glRotate()`等)、纹理映射(`glTexImage2D()`、`glTexParameter()`等)、深度...

    openGl设计--3D迷宫

    OpenGL支持纹理加载和映射,开发者需要学习如何使用glBindTexture、glTexImage2D等函数来处理和应用纹理。 再者,碰撞检测是游戏中的核心部分。在3D迷宫中,玩家角色与墙壁的碰撞检测至关重要,以防止玩家穿墙或被...

    OpenGl所有函数库

    8. 纹理映射:glTexImage2D和glTexParameter,用于纹理加载和参数设置。 9. 颜色混合:glBlendFunc控制像素混合规则。 10. 错误检查:glGetError用于检测和报告OpenGL错误。 二、OpenGL应用函数库 除了核心库,...

    OpenGL函数与范例解析手册 OpenGL函数与范例解析手册

    `glGenTextures()`, `glBindTexture()`, `glTexImage2D()` 和 `glTexParameter()` 等函数用于管理纹理,而`glTexSubImage2D()`可以更新已存在的纹理数据。此外,`glEnable(GL_TEXTURE_2D)` 开启纹理映射,`glTexEnvf...

    opengl函数参考(有索引)

    这个资源“OpenGL函数参考(有索引)”显然是一本详细的文档,旨在帮助开发者理解和使用OpenGL的各种函数。CHM文件是一种Microsoft的帮助文件格式,通常包含索引、搜索功能和组织良好的内容,方便用户快速查找所需信息...

    opengl函数与范例

    9. `glTexImage2D`: 加载二维纹理数据,可以是从文件中读取的图像。 10. `glTexParameteri`: 设置纹理参数,如过滤模式、重复行为等。 11. `glUseProgram`: 激活一个GLSL着色器程序,这是现代OpenGL中的核心部分,...

    OpenGL优秀教程-个人推荐

    本教程将介绍如何加载图像作为纹理,将其应用到几何体表面,并使用`glBindTexture`和`glTexImage2D`等函数进行纹理坐标设置。 Lesson 07 Texture Filters, Lightning & Keyboard Control.rar:在这一部分,你会学习...

    opengl-function.rar_OpenGL函数库

    5. **纹理映射**:`glGenTextures()`、`glBindTexture()`、`glTexImage2D()`等函数用于处理纹理的生成、绑定和定义。 6. **光照模型**:`glLight()`、`glMaterial()`和`glEnable(GL_LIGHTING)`等用于设置光源和材质...

    Qt5版Nehe OpenGL教程1-5

    这部分会介绍纹理加载、纹理坐标和`glBindTexture()`、`glTexImage2D()`等纹理操作。 8. **深度测试**:了解并使用深度测试(Z-Buffer)以解决图形重叠时的绘制顺序问题,保证正确的前后遮挡关系。 9. **清除和...

    opengl-function.rar_OPenGL函数查询

    纹理操作是OpenGL的重要组成部分,`glGenTextures()` 生成纹理对象,`glBindTexture()` 将纹理对象与特定的纹理目标关联,`glTexImage2D()` 用于上传二维纹理数据,而`glTexParameter()` 设置纹理参数,如过滤模式。...

    openGL函数手册

    `glTexImage2D()`用于上传纹理数据到GPU等。 4. **着色语言GLSL**:OpenGL Shading Language(GLSL)是OpenGL用来编写顶点和片段着色器的语言。手册会解释如何定义变量、结构体、函数,以及如何使用向量、矩阵运算...

    OPENGL 函数官方文档

    5. **纹理管理**:glGenTextures、glTexImage2D、glTexParameter等,用于加载、创建和设置纹理。 6. **着色器编程**:glCreateShader、glCompileShader、glLinkProgram等,涉及GLSL(OpenGL Shading Language)的...

    OpenGL 系列函数库

    - `glTexImage1D()`、`glTexImage2D()`:加载一维或二维纹理图像。 - `glTexParameter*()`、`glTexEnv*()`和`glTexCoord*()`:设置纹理参数、纹理环境和纹理坐标。 #### 特殊效果 - `glBlendFunc()`:设置混合函数...

    OpenGL系统设计-纹理贴图

    3. **纹理数据的上传**:使用`glTexImage2D()`函数将纹理数据上传到OpenGL上下文中。这个函数接收多个参数,包括目标纹理类型、纹理级别、内部格式、宽度、高度、边框、像素格式、像素类型以及指向像素数据的指针。 ...

    OpenGLES demo - 3. 建立Android工程

    使用`glGenTextures`生成纹理ID,`glBindTexture`绑定纹理,`glTexImage2D`加载纹理数据。 11. **释放资源**:当Surface销毁时,记得调用`eglDestroyContext`和`eglTerminate`释放OpenGL ES资源并关闭EGL显示。 12...

    opengl大作业-运动的自行车.zip

    `glBindTexture()`和`glTexImage2D()`等函数用于加载和应用纹理,自行车的不同部分可能需要不同的纹理贴图。 8. **深度测试**:为了避免物体之间错误的重叠,需要启用并配置深度测试。`glEnable(GL_DEPTH_TEST)`...

    opengles1.1-2.0手册.rar

    `glBegin()` 和 `glEnd()` 用于定义顶点序列,`glDrawArrays()` 或 `glDrawElements()` 用于绘制几何形状,`glEnableClientState()` 和 `glDisableClientState()` 用于启用或禁用顶点属性数组,而`glTexImage2D()` ...

    OpenGLES demo - 12. 材质贴图 Texture Mapping

    5. **绑定和上传纹理数据**:使用`glBindTexture`将纹理对象与目标纹理单元绑定,然后通过`glTexImage2D`或`glTexSubImage2D`上传纹理图像数据。 6. **绘制调用**:在顶点着色器中,我们将纹理坐标作为输入,而在...

    OpenGL函数库API

    - **纹理映射**:如`glTexImage1D()`、`glTexImage2D()`等。 - **特殊效果处理**:如`glBlendFunc()`、`glHint()`等。 - **光栅化与像素操作**:如`glRasterPos*()`、`glLineWidth()`等。 - **选择与反馈**:如`...

    openGL函数查询

    - **`glTexImage1D`, `glTexImage2D`**: 指定一维或二维纹理映射,用于定义纹理的数据。 - **`glTexParameter`**: 设置纹理参数,如纹理过滤、包裹方式等。 - **`glTexSubImage1D`, `glTexSubImage2D`**: 指定已...

Global site tag (gtag.js) - Google Analytics