纹理滤波(Texture Filter)
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)相关推荐
- OPenGL笔记--纹理滤波和光源
文章目录 一.前置知识 二.运行效果 三.完整代码 一.前置知识 光源 环境光:环境光来自四面八方:所有场景中的对象都处于环境光的照射中:如果没有环境光,未被漫射光照到的地方就会变得十分黑暗: 漫射光 ...
- 三种经典图像滤波方法介绍——双边滤波(Bilateral filter)、导向滤波(Guided Fliter)、滚动导向滤波(RollingGuidedFilter)
文章目录 一.前言 二.双边滤波(Bilateral filter) 2.1 双边滤波的理论介绍及公式推导 2.2 双边滤波的matlab程序实现 三.导向滤波(Guided Fliter) 3.1 ...
- CUDA C 纹理提取Texture Fetching
CUDA C 纹理提取Texture Fetching 一.参数曲面的纹理 使用纹理指定参数曲面属性. 二.CUDA C 纹理获取开发 用于计算纹理函数,根据纹理引用的各种属性返回的值的公式(请参见纹 ...
- x264源代码简单分析:滤波(Filter)部分
===================================================== H.264源代码分析文章列表: [编码 - x264] x264源代码简单分析:概述 x26 ...
- 初识OpenGL (-)纹理过滤(Texture Filtering)
1. OpenGL需要知道怎样将纹理像素(Texture Pixel,也叫Texel)映射到纹理坐标. 纹理坐标 不依赖于分辨率(Resolution),它可以是任意浮点值, 给模型顶点设置的那个数组 ...
- 详解——导向滤波(Guided Filter)和快速导向滤波
文章目录 导读 原理推导 导向滤波的应用 导向滤波的实现 快速导向滤波的实现 算法效果 代码 参考 导读 在图像滤波算法中,导向滤波.双边滤波.最小二乘滤波并称三大保边滤波器,他们是各向异性滤波器.相 ...
- Unity SKFramework框架(二十一)、Texture Filter 贴图资源筛选工具
目录 简介 使用步骤 1.选中所有Texture贴图 2.打开Texture Filter工具 3.指定筛选类型 4.Filter 进行过滤 简介 如图所示,在Unity Project窗口中我们可以 ...
- cuda 纹理内存texture使用时显示不是模板解决办法
按教程使用纹理内存texture时显示 texture不是模板. 网上找了半天,只知道这个报错是VS没有识别的问题,运行起来并没有实质性影响. 但是一条红线在这画着总觉得很别扭,于是就想取消它,最终给 ...
- 粒子滤波 particle filter —从贝叶斯滤波到 粒子滤波—Part-III(重要性采样序贯重要性采样SIS)
粒子滤波 particle filter -从贝叶斯滤波到粒子滤波-Part-III(重要性采样&序贯重要性采样SIS) 原创不易,路过的各位大佬请点个赞 机动目标跟踪/非线性滤波/传感器融合 ...
- 【OpenGL】OpenGL入门之纹理(Texture)
目录 纹理 纹理环绕方式 纹理过滤 多级渐远纹理(Mipmap) 加载与创建纹理 stb_image.h 生成纹理 应用纹理 纹理单元 参考 纹理 在此之前,我们已经可以为每个顶点添加颜色来增加图 ...
最新文章
- python 实时显示声音
- Google首席科学家谈Google是怎么做深度学习的
- 网络虚拟化技术(一): linux网络虚拟化,网络虚拟化技术(一): Linux网络虚拟化...
- 天地图专题七:行政区域标记,热力图(以广西为例)
- gist.github.com 被墙无法访问解决办法
- Bailian3470 整理扑克牌【贪心+二分】
- CRLF对GIT DIFF的影响
- 3D建模软件:犀牛Rhino 7.16.22067.13002
- 免费的数据恢复软件 恢复丢失的数据
- delphi xe7 EMS是什么 什么作用,怎么使用?
- STM32串口3 映射和完全重映射 PB10 PB11 PD8 PD9 PC10 PC11
- 本科学经济还是学数学和计算机,如果考研想往经管类方向,学习数学类,还是数学与应用数学, 这两个专业有什么不同...
- windows升级卡在配置更新96%
- Oracle数据库闪回
- 第153章 SQL函数 UCASE
- Apache Druid远程代码执行漏洞(CVE-2021-25646)
- 浙大计算机非全日制考试科目,浙江大学非全日制教育硕士考试科目及参考书目...
- PhotoShop彩色图片打印机只有四中颜色操作步骤:
- 用小米平板,如何看小度路由器所连接的移动硬盘上的视频
- 逐梦旅程学习笔记 DirectX开发入门01:应用程序基本框架