C++ opengl 纹理过滤之GL_NEAREST
源码还是这个博文里的
https://blog.csdn.net/qq78442761/article/details/81228557
GL_LINEAR过滤:表示给多边形进行着色的时候,它的颜色需要通过他周围的一些点进行某一种线性的差值之后计算出来的颜色;
GL_NEAREST过滤:表示给多边形进行着色的时候,取离他当前最近的那个纹理坐标的颜色【纹理图片是离散的(如128*128的图片,他采集像素的时候是离散的,如,从1.1采或1.5采)】GL_NEAREST指离他最近的点。这会使得,画面比较平滑
采用GL_NEAREST的截图如下:
伪代码如下:
GLuint CreateTexture2D(unsigned char*pixelData, int width, int height, GLenum type) {GLuint texture;glGenTextures(1, &texture);glBindTexture(GL_TEXTURE_2D, texture);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);glTexImage2D(GL_TEXTURE_2D, 0, type, width, height, 0, type, GL_UNSIGNED_BYTE, pixelData);glBindTexture(GL_TEXTURE_2D, 0);return texture;
}
void Draw() {glClearColor(0.1f, 0.4f, 0.6f, 1.0f);glClear(GL_COLOR_BUFFER_BIT);glEnable(GL_TEXTURE_2D); //开启2D纹理glBindTexture(GL_TEXTURE_2D, texture);//将当前纹理设置为新创建的纹理对象glBegin(GL_QUADS);glColor4ub(255, 255, 255, 255);glTexCoord2f(0.0f, 0.0f);glVertex3f(-0.1f, -0.1f, -0.4f);glTexCoord2f(1.0f, 0.0f);glVertex3f(0.1f, -0.1f, -0.4f);glTexCoord2f(1.0f, 1.0f);glVertex3f(0.1f, 0.1f, -0.4f);glTexCoord2f(0.0f, 1.0f);glVertex3f(-0.1f, 0.1f, -0.4f);glEnd();
}
C++ opengl 纹理过滤之GL_NEAREST相关推荐
- C++ Opengl纹理过滤和光照实例源码
C++ Opengl纹理过滤和光照实例源码 项目开发环境 项目功能 项目演示 项目源码传送门 项目开发环境 开发语言:C++和IDE:VS2017,操作系统Windows版本windows SDK8. ...
- 初识OpenGL (-)纹理过滤(Texture Filtering)
1. OpenGL需要知道怎样将纹理像素(Texture Pixel,也叫Texel)映射到纹理坐标. 纹理坐标 不依赖于分辨率(Resolution),它可以是任意浮点值, 给模型顶点设置的那个数组 ...
- OpenGL纹理过滤以及纹理Wrapping mode
在三维动态场景中,如果一个纹理对象迅速地远离观察点而去,此时纹理图像必须随被投影的图像一起缩小,否则很产生抖动或者闪烁的现象.为了避免产生抖动或者闪烁,OpenGL必须对纹理图像进行过滤,适当的 ...
- OpenGL 纹理过滤和 mip 贴图
一.概念 1. 纹理过滤 当纹理贴到具体像素上时,像素需要到纹理图像中进行采样,这个过程称为纹理过滤. 纹理过滤通常有两种情况:放大(GL_TEXTURE_MAG_FILTER)和缩小(GL_TEXT ...
- C++ opengl 纹理过滤之GL_REPEAT
源码还是这个博文里面的 https://blog.csdn.net/qq78442761/article/details/81228557 程序运行截图如下: repeat犹如字面意思那样会重复,当几 ...
- android纹理缓存,Android OpenGLES(七) 理解纹理与纹理过滤
1.理解纹理 OpenGL中的纹理可以用来表示图像,照片,甚至由一个数学算法生成的分形数据.每个二维的纹理都由许多小的纹理元素组成,它们是小块的数据,类似于我们前面讨论过的片段和像素.要使用纹理,最常 ...
- 纹理过滤函数glTexParameteri
OpenGL--纹理过滤函数glTexParameteri() 图象从纹理图象空间映射到帧缓冲图象空间(映射需要重新构造纹理图像,这样就会造成应用到多边形上的图像失真),这时就可用glTexParme ...
- OpenGL之纹理过滤(Texture Filtering)、MipMap方法、纹理坐标
1.1 纹理过滤 像素.片元都是具有面积的,一个像素可能对应物体上的一小块区域,而物体上这个小区域对应于纹理图像上的一个小区域,因此一个像素的颜色可能来自于纹理中的一小个不规则区域,如果纹理的分辨率比 ...
- OpenGL之纹理过滤的四种方式
I.纹理过滤: 当三维空间里面的多边形经过坐标变换.投影.光栅化等过程,变成二维屏幕上的一组象素的时候,对每个象素需要到相应纹理图像中进行采样,这个过程就称为纹理过滤. II.纹理过滤通常分为2种情况 ...
最新文章
- Linux常用命令学习(shell 脚本)
- 深圳杯---垃圾焚烧厂的经济补偿问题
- 部署SQL AZURE的客户端管理工具,云计算体验之二
- 求真不二,春风细雨:AI界追忆黄煦涛教授的为学、为师、为人
- linux 下使用crontab 定时打包日志并删除已被打包的日志
- Spring 配置标签——util标签
- 技术的深度与广度,该如何取舍?
- 下面选项中不是开发java程序的步骤是_Java基础试题及其答案2
- TOSCA自动化测试工具视频资料
- Spanning-Tree Portfast
- 最新服务器处理器天梯,服务器cpu天梯图2020
- 网络1712--c语言函数作业总结
- 史上最搞笑的程序员段子,有图有真相!
- WPJAM「网址导航」:最轻便快捷的WordPress网址导航插件
- 【解决方案】医院医疗安防视频监控系统搭建及集成统一管理方案介绍
- 学校举办朗诵比赛,邀请了 10 位评委为每一名参赛选手的表现打分。假设列表 lst_score
- 22.11.3打卡 HDU-1069
- 操作系统-PV操作-理发师问题
- 什么是IC卡、M1卡,有啥区别
- link和@import的区别?
热门文章
- ADT安装好在Eclipse后运行模型Android提示Re-installation fai...
- 线程学习3——前台线程和后台线程
- 这个是帮朋友发的,。。。我也觉得挺无聊的。
- 【转载】那么明亮的sz4j
- 其实企业的C++人最清楚企业的问题
- 用VC写Assembly代码(5) --一些宏的使用(二)
- 用VC写Assembly代码(6)--附录3[X86指令使用详解]
- steam夏日促销用Python爬取排行榜上的游戏打折信息
- 老粉丝来:再来一波免费送书
- oracle资产负债表重分类吗,【好会计】讲讲资产负债表中的重分类!