和纹理映射相关的另一个重要概念是‘过滤’。我们已经讨论了怎样将纹理坐标(这是个0到1之间的分数!)映射到纹素上,纹理贴图中纹素的坐标总是以整数定义的,但是如果纹理坐标映射到纹素上的坐标为(152.34,745.14)怎么办?不明智的方案是将这个坐标舍去小数变为(152,745)。这种方法虽然可以有效果但是在某些情形下效果会很差。一个更好的办法是选取该坐标周围纹素2x2的4个坐标 ( (152,745), (153,745), (152,744) 和 (153,744) ) 并根据他们的颜色做线性插值。线性插值必须体现出坐标(152.34,745.14)和四个坐标的相对距离来。距离近的点的颜色对最终纹素的颜色值影响大,越远影响越小,这样就比开始的方法简单多了。

选择最终纹素的方法叫做’过滤‘,最简单的实现小数纹理坐标取整的方法叫做‘最邻近过滤’,更复杂一点的方法叫做‘线性过滤’,另外一种可能遇到的最邻近过滤方法叫做‘点过滤’。OpenGL支持几种不同类型的过滤方式可以选择。通常效果好的过滤方式需要GPU更强大计算能力并且可能对帧率产生影响,选择不同的过滤方式就需要权衡对过滤效果的需求和对目标设备能力的要求了。

opengl的纹理过滤相关推荐

  1. OpenGL之纹理过滤(Texture Filtering)、MipMap方法、纹理坐标

    1.1 纹理过滤 像素.片元都是具有面积的,一个像素可能对应物体上的一小块区域,而物体上这个小区域对应于纹理图像上的一个小区域,因此一个像素的颜色可能来自于纹理中的一小个不规则区域,如果纹理的分辨率比 ...

  2. OpenGL之纹理过滤的四种方式

    I.纹理过滤: 当三维空间里面的多边形经过坐标变换.投影.光栅化等过程,变成二维屏幕上的一组象素的时候,对每个象素需要到相应纹理图像中进行采样,这个过程就称为纹理过滤. II.纹理过滤通常分为2种情况 ...

  3. C++ Opengl纹理过滤和光照实例源码

    C++ Opengl纹理过滤和光照实例源码 项目开发环境 项目功能 项目演示 项目源码传送门 项目开发环境 开发语言:C++和IDE:VS2017,操作系统Windows版本windows SDK8. ...

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

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

  5. OpenGL纹理过滤以及纹理Wrapping mode

     在三维动态场景中,如果一个纹理对象迅速地远离观察点而去,此时纹理图像必须随被投影的图像一起缩小,否则很产生抖动或者闪烁的现象.为了避免产生抖动或者闪烁,OpenGL必须对纹理图像进行过滤,适当的 ...

  6. OpenGL学习十九:纹理过滤

    当物体放大缩小时导致投影在上面的纹理也随着变化,OpenGL为了 优化其细节使其效果更好,因此可以采用纹理过滤 glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MA ...

  7. OpenGL 纹理过滤和 mip 贴图

    一.概念 1. 纹理过滤 当纹理贴到具体像素上时,像素需要到纹理图像中进行采样,这个过程称为纹理过滤. 纹理过滤通常有两种情况:放大(GL_TEXTURE_MAG_FILTER)和缩小(GL_TEXT ...

  8. 手把手教会OpenGL之纹理贴图、包含纹理载入、纹理过滤、边界处理、纹理参数设置(入门级别案例,棋盘)

    一.OpenGL中纹理的加载(对glTexImage2D函数的使用) 二.纹理过滤(glTexParameteri参数中的GL_TEXTURE_MAG_FILTER与 GL_TEXTURE_MIN_F ...

  9. OpenGL(二十三) 各向异性纹理过滤

    如果使用一般的纹理过滤,当观察方向跟模型表面不是相互垂直的的情况下,会出现纹理信息的丢失,表现为图像看上去比较模糊,如下图所示,远处场景的细节信息很差: 针对这种情况,可以采用同向异性过滤的方式处理纹 ...

最新文章

  1. 基本数据类型转换规则
  2. “远征记”——从燕郊骑自行车回京
  3. 数据库 事务的特性ACID
  4. 用 Flask 来写个轻博客 (26) — 使用 Flask-Celery-Helper 实现异步任务
  5. [LeetCode]ZigZag Conversion
  6. centos mysql 5.1_CentOS下的MySQL 5.1安装
  7. int i=i++;和i=++i;和i++
  8. json对象数组按对象属性排序
  9. 程序员修仙之路-数据结构之 CXO让我做一个计算器
  10. CAN笔记(10) 错误种类和输出
  11. 数字图像处理 空间域高斯低通滤波 MATLAB实验
  12. java流被关闭后怎样重新打开,java – 如何停止MediaPlayer流然后重新启动它? Android的...
  13. android的控件常用方法是,Android常用控件属性分析
  14. Java线程基础回顾及内存模型,看你还记得多少?
  15. xampp使用教程方法免费分享
  16. Android TV开发
  17. 《透视盒马:新零售操作系统的秘密》
  18. phxqueue java_微信开源PhxQueue:高可用、高可靠、高性能的分布式队列的几个问题...
  19. 青海省国家湿地公园功能区划数数据、全国湿地沼泽分布数据、全国省市县自然保护区
  20. Windows 查看文件大小

热门文章

  1. 30 年的 Hello world
  2. JavaWeb利用cookie记住账号
  3. uniapp引入字体图标库
  4. 非遗传承人陶一的诗词被荣获吉尼斯记录的《上海滩诗叶》收录
  5. 只有黑社会才会说黑话
  6. ajax异步请求中途取消
  7. 新浪微博认证——应用程序支持新浪微博登陆
  8. 支付宝小程序模板行业合集,支付宝小程序制作平台分享
  9. SIM7600透传模式
  10. SIM7600X常用指令