当前位置: 首页 > news >正文

优设网学影视剪辑免费枣庄网站优化

优设网学影视剪辑免费,枣庄网站优化,网站做优化需要多少钱,苏州h5模板建站目录 一、概念 1、纹理过滤 2、邻近过滤 3、线性过滤 二、邻近过滤和线性过滤的区别 三、源码下载 一、概念 1、纹理过滤 当纹理被应用到三维物体上时,随着物体表面的形状和相机视角的变化,会导致纹理在渲染过程中出现一些问题,如锯齿…

目录

一、概念

1、纹理过滤

2、邻近过滤

3、线性过滤

二、邻近过滤和线性过滤的区别

三、源码下载


一、概念

1、纹理过滤

当纹理被应用到三维物体上时,随着物体表面的形状和相机视角的变化,会导致纹理在渲染过程中出现一些问题,如锯齿状边缘、失真、模糊等。

纹理过滤的作用是解决这些问题,以获得更好的渲染效果。其目的是在纹理被应用到三维模型上时,通过对纹理上的像素进行插值或采样,使得纹理在不同距离和角度下呈现出更平滑、更真实的外观。

纹理坐标不依赖于分辨率(Resolution),它可以是任意浮点值,所以OpenGL需要知道怎样将纹理像素(Texture Pixel,也叫Texel,译注1)映射到纹理坐标。当你有一个很大的物体但是纹理的分辨率很低的时候这就变得很重要了。你可能已经猜到了,OpenGL也有对于纹理过滤(Texture Filtering)的选项。纹理过滤有很多个选项,但是现在我们只讨论最重要的两种:GL_NEAREST和GL_LINEAR。(Texture Pixel也叫Texel,你可以想象你打开一张.jpg格式图片,不断放大你会发现它是由无数像素点组成的,这个点就是纹理像素;注意不要和纹理坐标搞混,纹理坐标是你给模型顶点设置的那个数组,OpenGL以这个顶点的纹理坐标数据去查找纹理图像上的像素,然后进行采样提取纹理像素的颜色。)

2、邻近过滤

GL_NEAREST(也叫邻近过滤,Nearest Neighbor Filtering)是OpenGL默认的纹理过滤方式。当设置为GL_NEAREST的时候,OpenGL会选择中心点最接近纹理坐标的那个像素。下图中你可以看到四个像素,加号代表纹理坐标。左上角那个纹理像素的中心距离纹理坐标最近,所以它会被选择为样本颜色:

  • 原理:OpenGL会选择中心点最接近纹理坐标的那个像素作为当前纹理坐标的像素。这种方式不进行任何插值计算,直接采用最邻近像素的颜色值。

  • 特点

    • 快速:由于无需进行复杂的插值计算,GL_NEAREST在性能上通常更优。
    • 锯齿状边缘:由于直接使用单个像素的颜色,放大后的纹理会出现明显的锯齿边缘,尤其是在大幅度缩放或以低分辨率纹理渲染高分辨率物体时。
    • 清晰度:对于小尺寸、像素艺术风格或需要保持锐利边缘的纹理,GL_NEAREST可以保留原始像素的精确颜色,保持图像的清晰度和细节。

3、线性过滤

GL_LINEAR(也叫线性过滤,(Bi)linear Filtering)它会基于纹理坐标附近的纹理像素,计算出一个插值,近似出这些纹理像素之间的颜色。一个纹理像素的中心距离纹理坐标越近,那么这个纹理像素的颜色对最终的样本颜色的贡献越大。下图中你可以看到返回的颜色是邻近像素的混合色:

  • 原理:基于纹理坐标附近的纹理像素,计算出一个插值,以近似出这些纹理像素之间的颜色。具体来说,当设置为GL_LINEAR时,OpenGL会考虑采样点周围最近的四个纹理像素(一个正方形区域内的像素),并对这四个像素的颜色值进行加权平均,以得到平滑过渡的颜色。对于三维纹理或更高维度的纹理,它会考虑更多的相邻像素并进行更高维的线性插值。

  • 特点

    • 平滑:GL_LINEAR产生的纹理放大效果更加平滑,边缘没有明显的锯齿,视觉效果更为柔和。
    • 模糊:相较于GL_NEAREST,GL_LINEAR可能会引入轻微的模糊,特别是在大幅度缩放时。这种模糊是由于插值过程混合了多个像素的颜色造成的。
    • 适用场景:对于需要平滑过渡、细节丰富、或对视觉质量要求较高的纹理(如照片、自然景观、高清图形等),GL_LINEAR通常能提供更好的视觉效果。

综上所述,GL_NEAREST和GL_LINEAR之所以产生不同的图案效果,是因为它们在处理纹理采样时采用了不同的方法和策略。GL_NEAREST直接采用最邻近像素的颜色值,因此会产生颗粒状图案;而GL_LINEAR则通过考虑附近多个像素的颜色值并进行加权平均,从而得到更平滑的图案效果。

二、邻近过滤和线性过滤的区别

那么这两种纹理过滤方式有怎样的视觉效果呢?让我们看看在一个很大的物体上应用一张低分辨率的纹理会发生什么吧(纹理被放大了,每个纹理像素都能看到):

GL_NEAREST产生了颗粒状的图案,我们能够清晰看到组成纹理的像素,而GL_LINEAR能够产生更平滑的图案,很难看出单个的纹理像素。GL_LINEAR可以产生更真实的输出,但有些开发者更喜欢8-bit风格,所以他们会用GL_NEAREST选项。

当进行放大(Magnify)和缩小(Minify)操作的时候可以设置纹理过滤的选项,比如你可以在纹理被缩小的时候使用邻近过滤,被放大时使用线性过滤。我们需要使用glTexParameter*函数为放大和缩小指定过滤方式。这段代码看起来会和纹理环绕方式的设置很相似:

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

三、源码下载

Android OpenGL 图片Texture渲染render 演示demo下载:

https://download.csdn.net/download/github_27263697/89927774

推荐文章

https://learnopengl-cn.readthedocs.io/zh/latest/01%20Getting%20started/06%20Textures/

https://juejin.cn/post/7369620466397675570

http://www.yayakq.cn/news/876150/

相关文章:

  • 邯郸招聘信息最新招聘厦门seo推广
  • 优秀网站设计分析世界500强企业排名 2021最新名单
  • 营销型网站建设个人总结怎么写wordpress上传本地主题
  • 如何做网站淘客推广重庆城乡建设网站首页
  • 长沙网站建设有限公司响应式网站生成
  • 页面精美的网站网站建设属于什么科目
  • 精品课程网站设计报告网站开发客户流程 6个阶段
  • 小米路由器mini做网站网站开发知识
  • 仿5173网站电商网站建设前的市场分析内容
  • 苏州企业网站设计制作免费wordpress简洁博客模板下载
  • 电子商务网页设计与网站建设论文广州市网站建设 骏域动力
  • 网站改版的方式大致为网站提供的链接
  • iis7建网站东莞网页建设网站
  • 如何做wap网站律师事务所网站方案
  • 黄页网站数据来源wordpress 分类文章列表
  • 好的专题网站html5手机论坛网站模板
  • 商务互联做网站怎么样兰州彩票网站制作
  • 网站建设哪公司网站建设记入什么科目
  • 开源系统网站wordpress手机端顶部导航栏
  • 网站怎样做友情链接哈尔滨网站建设工作
  • 手机网站大全排行黄冈建设工程信息网
  • 网站建设需要的框架结构猎头公司排名前十
  • 企业做网站都购买域名吗WordPress支持熊掌号
  • 网站新闻编辑怎么做网上推广怎么拉客户
  • 如何在已建设好的网站做修改做网站用html好还是vue好
  • 网站文章不收录怎么做龙岩正规全网品牌营销招商
  • 天津建设银行公积金缴费网站监理建设协会网站
  • 中山做网站多少钱高级网站建设费用
  • 百度推广官方网站精准营销手段
  • 企业官方网站建设方案wordpress 表单插件