之前对三线型过滤理解有些问题更新一下

三线性采样点 一次sample采样点是8

(u,v,d)

d是个分数 作为权重

miplevel floor(d)向上取整 在这级mipmap上用uv 采样4个点插值得到a

miplevel ceil(d)向下取整 在这级mipmap上用uv 采样4个点插值得到b

ab按照d的小数部分插值

所以tribilinear在跨不跨mipmap的地方都是sample8个值 所有位置的结果都是插值

(mipmap跨级的意思是指 相邻两个位置 dx/du,dy/dv 计算出来不在一级mipmap的level就是跨级)

然后在这种情况下三线性还能提升性能。。。我也真是服 我要测下看看

原因是 远处cachemissing减小 但是整整多了一倍采样啊 不是增加很多带宽吗 难道我3.0版本对filter对带宽的影响还需要更新?

------

bilinear算法 临近四个点的uv距离下一组uv的四个点  在远处还是会差很大  还是cache missing

有一个容易被忽视的问题是 bilinerar因为有cache的情况下 并不会一直去mem拿tex多半在cache里面 在近的地方

但如果在远处 这部分cache会missing  情况就变成每次都是4  近的时候访存远远低于4

改成tri为什么能提升性能呢这说不通 因为有4次像bri一样的samp一定会做 还有4次性能比较好的 在高level的mipmap上的sample是额外的开销

所以如果他说 Trilinear filtering with mipmaps via GL LINEAR MIPMAP LINEAR requires eight values per sample, but it can actually increase performance since, for faraway pixels, samples from the smaller mip levels are very likely to hit in texture cache.

三线性提升性能 只有一个可能 与之比较的是没有mipmap的bilinear

如果只开mipmap filter不变 比如都是point 用mipmap会减少cachemissing提升性能

开mipmap之后如果用bilinear

mipmap分界处会不衔接 有肉眼可见瑕疵 性能优于三线性的mipmap

trilinear filter的更多相关文章

  1. Use PerfHUD ES to Do Frame Capture Android Game

    Author: http://www.cnblogs.com/open-coder/p/3898224.html Get Start This is short tutorial about how ...

  2. mipmap一

    讲一下mipmap 生成的时候 指定texture 的mipmaplevel 8 然后memory自动就会那么大的 画的时候要在lineraspace(因为我是gpucopy所以不涉及这个问题 可能) ...

  3. django 操作数据库--orm(object relation mapping)---models

    思想 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Ent ...

  4. Texture Filter中的Bilinear、Trilinear以及Anistropic Filtering

    1. 为什么在纹理采样时需要texture filter(纹理过滤)?我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应texture ...

  5. anisotropic filter

    各项异性 point一次sample 1 bilinear 一次sample 4 trilinear 一次sample 8   两个4按mipmaplevel混合 anisotropic 异性和同性 ...

  6. Texture Filter

    [Texture Filter] 我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应texture上的采样中心texel),大小也不一 ...

  7. 纹理过滤模式中的Bilinear、Trilinear以及Anistropic Filtering

    1. 为什么在纹理采样时需要texture filter(纹理过滤). 我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应textur ...

  8. JavaWeb——Filter

    一.基本概念 之前我们用一篇博文介绍了Servlet相关的知识,有了那篇博文的知识积淀,今天我们学习Filter将会非常轻松,因为Filter有很多地方和Servlet类似,下面在讲Filter的时候 ...

  9. 以bank account 数据为例,认识elasticsearch query 和 filter

    Elasticsearch 查询语言(Query DSL)认识(一) 一.基本认识 查询子句的行为取决于 query context filter context 也就是执行的是查询(query)还是 ...

随机推荐

  1. Proxy那点事儿

    全文转载,原文地址:Proxy 那点事儿 Proxy,也就是"代理"了.意思就是,你不用去做,别人代替你去处理.比如说:赚钱方面,我就是我老婆的 Proxy:带小孩方面,我老婆就是 ...

  2. jenkins构建触发器定时任务Build periodically和Poll SCM【转载】

    转至博客:上海-悠悠 前言 跑自动化用例每次用手工点击jenkins出发自动化用例太麻烦了,我们希望能每天固定时间跑,这样就不用管了,坐等收测试报告结果就行. 一.定时构建语法 * * * * * ( ...

  3. EF6 Working with Proxies ProxyCreationEnabled

    When creating instances of POCO entity types, the Entity Framework often creates instances of a dyna ...

  4. 35.Spark系统运行内幕机制循环流程

    一:TaskScheduler原理解密 1,  DAGScheduler在提交TaskSet给底层调度器的时候是面向接口TaskScheduler的,这符合面向对象中依赖抽象而不依赖的原则,带来底层资 ...

  5. hdu 1698 Just a Hook(线段树区间修改)

    传送门:Just a Hook Problem Description In the game of DotA, Pudge’s meat hook is actually the most horr ...

  6. Sqlite的导入导出功能

    导出,使用dump命令 导入,使用read命令 可以直接执行,类似 sqlite xxx.db3 ".read ../sss.sql"

  7. 【javascript】基于javascript的小时钟

    计时事件:通过JavaScript,我们可以设置在一段时间间隔后执行一段代码,而不仅仅是在函数调用后立即执行. 在JavaScript中,使用计时事件是很容易的,主要有两个事件供我们使用 setTim ...

  8. python中,将字符串由utf8转gbk

    uni_str = utf8_str.decode('utf-8'); gbk_str = uni_str.encode('gbk');

  9. CodeForces 779A Pupils Redistribution

    简单题. 因为需要连边的人的个数一样,又要保证和一样,所以必须每个数字的个数都是一样的. #include<map> #include<set> #include<cti ...

  10. [P4064][JXOI2017]加法(贪心+树状数组+堆)

    题目描述 可怜有一个长度为 n 的正整数序列 A,但是她觉得 A 中的数字太小了,这让她很不开心. 于是她选择了 m 个区间 [li, ri] 和两个正整数 a, k.她打算从这 m 个区间里选出恰好 ...