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

OpenGL函数思考-glTexParameter

 
阅读更多

OpenGL函数思考-glTexParameter

函数原型:

void glTexParameterf(GLenum target,GLenum pname, GLfloat param)

void glTexParameteri(GLenum target,GLenum pname,GLint param)

参数说明:

  • target:指定目标纹理,它只能取值GL_TEXTURE_1D或者GL_TEXTURE_2D;
  • pname:指定单值纹理参数的符号名称,可以选择的符号常数如下:GL_TEXTURE_MIN_FILTER、GL_TEXTURE_MAG_FILTER、GL_TEXTURE_WRAP_S、 GL_TEXTURE_WRAP_T;
  • param:指定pname的值

函数说明:

图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParmeteri()函数来确定如何把纹理象素映射成像素.

案例:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
GL_TEXTURE_2D: 操作2D纹理.
GL_TEXTURE_WRAP_S: S方向上的贴图模式.
GL_CLAMP: 将纹理坐标限制在0.0,1.0的范围之内.如果超出了会如何呢.不会错误,只是会边缘拉伸填充.

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
这里同上,只是它是T方向

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
这是纹理过滤
GL_TEXTURE_MAG_FILTER: 放大过滤
GL_LINEAR: 线性过滤, 使用距离当前渲染像素中心最近的4个纹素加权平均值.

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_NEAREST);
GL_TEXTURE_MIN_FILTER: 缩小过滤
GL_LINEAR_MIPMAP_NEAREST: 使用GL_NEAREST对最接近当前多边形的解析度的两个层级贴图进行采样,然后用这两个值进行线性插值.

注:
GL_LINEAR使用了线性滤波的纹理贴图。这需要机器有相当高的处理能力,但它们看起来很不错。

GL_NEAREST从原理上讲,这种方式没有真正进行滤波。它只占用很小的处理能力,看起来也很差。唯一的好处是这样我们的工程在很快和很慢的机器上都可以正常运行。
我们在 GL_TEXTURE_MIN_FILTER和 GL_TEXTURE_MAG_FILTER时你可以混合使用 GL_NEAREST 和 GL_LINEAR。纹理看起来效果会好些,如果我们更关心速度,可以全采用低质量贴图。

GL_TEXTURE_MIN_FILTER在图像绘制时小于贴图的原始尺寸时采用。GL_TEXTURE_MAG_FILTER在图像绘制时大于贴图的原始尺寸时采用

上图分别是使用线性滤波和接近滤波进行的纹理映射效果

// 线形滤波
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);

// 接近滤波
glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST);

glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST);

分享到:
评论

相关推荐

    OpenGL-html-funciton-manual

    OpenGL函数手册是开发人员理解并有效利用OpenGL进行图形编程的关键资源。"OpenGL-html-funciton-manual"显然是一份以HTML格式编写的OpenGL函数参考手册,包含了170多个OpenGL函数的详细解释。 OpenGL函数手册通常会...

    OpenGl所有函数库

    "OpenGl函数库.doc"和"opengl函数.doc"则是关于OpenGL函数的文档,同样提供了函数的描述和用法。 四、学习和使用 掌握OpenGL函数库的关键在于理解和实践。开发者应通过阅读文档、教程和示例代码,了解每个函数的...

    OpenGL函数参考

    OpenGL函数参考是一个重要的资源,它包含了对OpenGL编程接口的详细说明和实用的函数整理。OpenGL是一种广泛应用的图形库,主要用于创建2D和3D图形,广泛应用于游戏开发、科学可视化和工程设计等领域。 首先,`...

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

    OpenGL函数与范例解析手册是一本深度探讨图形编程技术的宝贵资源,主要聚焦于OpenGL这一广泛应用的图形库。OpenGL是一个跨语言、跨平台的编程接口,用于渲染2D、3D矢量图形,广泛应用于科学可视化、虚拟现实、游戏...

    opengl-function.rar_OPenGL函数查询

    OpenGL函数查询手册是图形编程领域中的重要参考资料,尤其对于初学者和开发者来说,它提供了大量关于OpenGL函数的详细信息。OpenGL是一种跨语言、跨平台的编程接口,用于渲染2D、3D矢量图形,广泛应用于游戏开发、...

    OpenGL 系列函数库

    OpenGL函数库,作为计算机图形学领域的一个重要组成部分,其设计旨在提供一套标准接口,用于高效地渲染2D和3D图形。在理解OpenGL时,掌握其函数命名规则至关重要,这有助于开发者快速识别函数功能和参数类型。根据...

    OPENGL 函数官方文档

    这份“OpenGL函数官方文档”是学习和开发OpenGL程序的重要参考资料,它包含了所有OpenGL函数的详细说明、参数解释以及使用示例。 一、OpenGL函数分类 OpenGL函数大致可以分为以下几类: 1. **状态设置**:包括视口...

    opengles1.1-2.0手册.rar

    `eglGetDisplay()`、`eglInitialize()`、`eglChooseConfig()`、`eglCreateContext()` 和 `eglBindAPI()` 等EGL函数用于在移动设备上创建和配置OpenGL ES环境。`eglMakeCurrent()` 和 `eglSwapBuffers()` 分别用于...

    openGL函数查询

    ### OpenGL函数查询知识点详解 #### 一、GL库函数与颜色管理 - **`glshadeModel`**: 用于选择平面明暗模式(GL_FLAT)或光滑明暗模式(GL_SMOOTH)。这两种模式决定了如何计算多边形表面上的颜色变化。 - **`...

    OpenGl函数介绍哦

    ### OpenGL函数介绍 #### 一、OpenGL库函数概述 OpenGL是一种跨语言、跨平台的应用程序接口(API),用于渲染2D、3D矢量图形。它由一系列的库函数组成,这些函数允许开发者进行图形处理和显示。在开发基于OpenGL的...

    OpenGLES demo - 12. 材质贴图 Texture Mapping

    4. **纹理参数设置**:通过`glTexParameter`函数设置纹理参数,例如过滤模式(线性或最近邻)、重复模式等,以控制纹理在拉伸或缩小时的行为。 5. **绑定和上传纹理数据**:使用`glBindTexture`将纹理对象与目标...

    opengl_function.rar_OpenGL函数_opengl_visual c

    OpenGL函数库是计算机图形学中的一个关键组件,用于在各种操作系统和硬件平台上创建复杂的3D和2D图形。"opengl_function.rar"这个压缩包显然包含了一份关于OpenGL函数的详细说明,特别针对使用Visual C++的开发者。...

    OpenGL函数介绍

    ### OpenGL函数介绍 #### 一、概述 OpenGL(Open Graphics Library)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。它使用一种特殊的C语言风格,提供了丰富的库函数来进行图形处理和...

    OpenGL函数查询

    ### OpenGL函数查询详解 #### GL库函数概览 **OpenGL** 是一种用于渲染2D、3D图形的应用程序接口(API)。它广泛应用于游戏开发、虚拟现实(VR)技术、科学可视化等领域。以下是对给定内容中部分GL库函数的详细解析。 ...

    0openGl函数集

    OpenGL函数集是计算机图形学中的一个关键组成部分,它是一个跨语言、跨平台的应用程序编程接口(API),用于渲染2D、3D图像。OpenGL主要用于创建复杂的3D场景,广泛应用于游戏开发、科学可视化、工程设计等领域。这...

    OpenGL函数与范例解析手册

    OpenGL函数与范例解析手册是一本深入探讨OpenGL编程的资源,专为中文用户设计,提供了详尽的函数解析和实例代码,旨在帮助开发者理解和掌握这一强大的图形库。OpenGL是跨语言、跨平台的图形编程接口,广泛应用于游戏...

    android OpenGL常用函数

    ### Android OpenGL常用函数详解 #### 一、OpenGL概述 OpenGL(Open Graphics Library)是一种用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程接口(API)。它在计算机图形学领域中有着广泛的应用,特别是...

    OpenGL 常见函数功能查询

    ### OpenGL 常见函数功能查询 #### 一、OpenGL基础绘图函数 **glshadeModel**: 设置平滑或平面的着色模式。 - **功能描述**:此函数用于设置物体表面的着色方式,有两种模式可以选择:GL_SMOOTH(平滑)和GL_FLAT...

    OpenGL详细教程 DELPHI 版

    9. **OpenGL函数思考:glTexParameter和glOrtho** 这两个文档分别探讨了glTexParameter和glOrtho这两个重要的OpenGL函数。glTexParameter用于设置纹理参数,而glOrtho则用于设置投影矩阵,控制3D视口的显示范围。 ...

    常用的OpenGL的函数

    (5)纹理映射函数,主要有一维纹理函数 glTexImage1D()、二维纹理函数 glTexImage2D()、设置纹理参数、纹理环境和纹理坐标的函数 glTexParameter*()、glTexEnv*()和 glTetCoord*()等。 (6)特殊效果函数。融合...

Global site tag (gtag.js) - Google Analytics