0 原始贴图

1 Nearest滤波纹理

2 线性滤波纹理

3 MipMapped纹理

int LoadGLTextures()  // 载入位图(调用上面的代码)并转换成纹理
{int Status=FALSE;     // 状态指示器AUX_RGBImageRec *TextureImage[1];       // 创建纹理的存储空间memset(TextureImage,0,sizeof(void *)*1);    // 将指针设为 NULL// 载入位图,检查有错,或位图不存在的话退出if (TextureImage[0]=LoadBMP("E:/OpenSource/Nehe/code/07_FilterAndLight/Debug/Data/Crate.bmp")){Status=TRUE;               // 状态设为 TRUEglGenTextures(3, &texture[0]);  // 创建纹理// 创建 Nearest 滤波贴图glBindTexture(GL_TEXTURE_2D, texture[0]);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_NEAREST); glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_NEAREST); glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);// 创建线性滤波纹理glBindTexture(GL_TEXTURE_2D, texture[1]);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR);glTexImage2D(GL_TEXTURE_2D, 0, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, 0, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data);// 创建 MipMapped 纹理glBindTexture(GL_TEXTURE_2D, texture[2]);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MAG_FILTER,GL_LINEAR);glTexParameteri(GL_TEXTURE_2D,GL_TEXTURE_MIN_FILTER,GL_LINEAR_MIPMAP_NEAREST); gluBuild2DMipmaps(GL_TEXTURE_2D, 3, TextureImage[0]->sizeX, TextureImage[0]->sizeY, GL_RGB, GL_UNSIGNED_BYTE, TextureImage[0]->data); }if (TextureImage[0])       // 纹理是否存在{if (TextureImage[0]->data) // 纹理图像是否存在{free(TextureImage[0]->data); // 释放纹理图像占用的内存}free(TextureImage[0]);           // 释放图像结构}return Status;                        // 返回 Status
}

更多请参考:http://www.owlei.com/DancingWind/Course/Tutorial_07.htm

转载于:https://www.cnblogs.com/kekec/archive/2012/01/21/2328711.html

纹理滤波(Texture Filter)相关推荐

  1. OPenGL笔记--纹理滤波和光源

    文章目录 一.前置知识 二.运行效果 三.完整代码 一.前置知识 光源 环境光:环境光来自四面八方:所有场景中的对象都处于环境光的照射中:如果没有环境光,未被漫射光照到的地方就会变得十分黑暗: 漫射光 ...

  2. 三种经典图像滤波方法介绍——双边滤波(Bilateral filter)、导向滤波(Guided Fliter)、滚动导向滤波(RollingGuidedFilter)

    文章目录 一.前言 二.双边滤波(Bilateral filter) 2.1 双边滤波的理论介绍及公式推导 2.2 双边滤波的matlab程序实现 三.导向滤波(Guided Fliter) 3.1 ...

  3. CUDA C 纹理提取Texture Fetching

    CUDA C 纹理提取Texture Fetching 一.参数曲面的纹理 使用纹理指定参数曲面属性. 二.CUDA C 纹理获取开发 用于计算纹理函数,根据纹理引用的各种属性返回的值的公式(请参见纹 ...

  4. x264源代码简单分析:滤波(Filter)部分

    ===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...

  5. 初识OpenGL (-)纹理过滤(Texture Filtering)

    1. OpenGL需要知道怎样将纹理像素(Texture Pixel,也叫Texel)映射到纹理坐标. 纹理坐标 不依赖于分辨率(Resolution),它可以是任意浮点值, 给模型顶点设置的那个数组 ...

  6. 详解——导向滤波(Guided Filter)和快速导向滤波

    文章目录 导读 原理推导 导向滤波的应用 导向滤波的实现 快速导向滤波的实现 算法效果 代码 参考 导读 在图像滤波算法中,导向滤波.双边滤波.最小二乘滤波并称三大保边滤波器,他们是各向异性滤波器.相 ...

  7. Unity SKFramework框架(二十一)、Texture Filter 贴图资源筛选工具

    目录 简介 使用步骤 1.选中所有Texture贴图 2.打开Texture Filter工具 3.指定筛选类型 4.Filter 进行过滤 简介 如图所示,在Unity Project窗口中我们可以 ...

  8. cuda 纹理内存texture使用时显示不是模板解决办法

    按教程使用纹理内存texture时显示 texture不是模板. 网上找了半天,只知道这个报错是VS没有识别的问题,运行起来并没有实质性影响. 但是一条红线在这画着总觉得很别扭,于是就想取消它,最终给 ...

  9. 粒子滤波 particle filter —从贝叶斯滤波到 粒子滤波—Part-III(重要性采样序贯重要性采样SIS)

    粒子滤波 particle filter -从贝叶斯滤波到粒子滤波-Part-III(重要性采样&序贯重要性采样SIS) 原创不易,路过的各位大佬请点个赞 机动目标跟踪/非线性滤波/传感器融合 ...

  10. 【OpenGL】OpenGL入门之纹理(Texture)

    目录 纹理 纹理环绕方式 纹理过滤 多级渐远纹理(Mipmap) 加载与创建纹理 stb_image.h 生成纹理 应用纹理 纹理单元 参考 纹理   在此之前,我们已经可以为每个顶点添加颜色来增加图 ...

最新文章

  1. python 实时显示声音
  2. Google首席科学家谈Google是怎么做深度学习的
  3. 网络虚拟化技术(一): linux网络虚拟化,网络虚拟化技术(一): Linux网络虚拟化...
  4. 天地图专题七:行政区域标记,热力图(以广西为例)
  5. gist.github.com 被墙无法访问解决办法
  6. Bailian3470 整理扑克牌【贪心+二分】
  7. CRLF对GIT DIFF的影响
  8. 3D建模软件:犀牛Rhino 7.16.22067.13002
  9. 免费的数据恢复软件 恢复丢失的数据
  10. delphi xe7 EMS是什么 什么作用,怎么使用?
  11. STM32串口3 映射和完全重映射 PB10 PB11 PD8 PD9 PC10 PC11
  12. 本科学经济还是学数学和计算机,如果考研想往经管类方向,学习数学类,还是数学与应用数学, 这两个专业有什么不同...
  13. windows升级卡在配置更新96%
  14. Oracle数据库闪回
  15. 第153章 SQL函数 UCASE
  16. Apache Druid远程代码执行漏洞(CVE-2021-25646)
  17. 浙大计算机非全日制考试科目,浙江大学非全日制教育硕士考试科目及参考书目...
  18. PhotoShop彩色图片打印机只有四中颜色操作步骤:
  19. 用小米平板,如何看小度路由器所连接的移动硬盘上的视频
  20. 逐梦旅程学习笔记 DirectX开发入门01:应用程序基本框架

热门文章

  1. linux必会命令 - 后台运行程序 - nohup、
  2. spark RDD官网RDD编程指南
  3. Java抽象类和接口
  4. ORA-00928: 缺失 SELECT 关键字
  5. HTML big 标签
  6. 如何使用来电盒--宇然电脑公司管理软件
  7. 有关short与int的重载[jase基础]
  8. JavaScript存在的原因
  9. 隐马尔科夫模型HMM自学 (2)
  10. Split-plot设计 SAS实践