trilinear filter
之前对三线型过滤理解有些问题更新一下
三线性采样点 一次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的更多相关文章
- 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 ...
- mipmap一
讲一下mipmap 生成的时候 指定texture 的mipmaplevel 8 然后memory自动就会那么大的 画的时候要在lineraspace(因为我是gpucopy所以不涉及这个问题 可能) ...
- django 操作数据库--orm(object relation mapping)---models
思想 django为使用一种新的方式,即:关系对象映射(Object Relational Mapping,简称ORM). PHP:activerecord Java:Hibernate C#:Ent ...
- Texture Filter中的Bilinear、Trilinear以及Anistropic Filtering
1. 为什么在纹理采样时需要texture filter(纹理过滤)?我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应texture ...
- anisotropic filter
各项异性 point一次sample 1 bilinear 一次sample 4 trilinear 一次sample 8 两个4按mipmaplevel混合 anisotropic 异性和同性 ...
- Texture Filter
[Texture Filter] 我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应texture上的采样中心texel),大小也不一 ...
- 纹理过滤模式中的Bilinear、Trilinear以及Anistropic Filtering
1. 为什么在纹理采样时需要texture filter(纹理过滤). 我们的纹理是要贴到三维图形表面的,而三维图形上的pixel中心和纹理上的texel中心并不一至(pixel不一定对应textur ...
- JavaWeb——Filter
一.基本概念 之前我们用一篇博文介绍了Servlet相关的知识,有了那篇博文的知识积淀,今天我们学习Filter将会非常轻松,因为Filter有很多地方和Servlet类似,下面在讲Filter的时候 ...
- 以bank account 数据为例,认识elasticsearch query 和 filter
Elasticsearch 查询语言(Query DSL)认识(一) 一.基本认识 查询子句的行为取决于 query context filter context 也就是执行的是查询(query)还是 ...
随机推荐
- LeetCode解题报告—— Combination Sum & Combination Sum II & Multiply Strings
1. Combination Sum Given a set of candidate numbers (C) (without duplicates) and a target number (T) ...
- cssBase.css你应该有一个
@charset "utf-8"; /*! * @名称:base.css * @功能:1.重设浏览器默认样式 * 2.设置通用原子类 */ /* 防止用户自定义背景颜色对网页的影响 ...
- html和url两种录制方式
在跟使用Loadrunner工具使用者交流的过程中,经常有人提到这个问题,基于HTML(HyperText Markup Language 超文本置标语言)模式录制 与基于URL(Uniform Re ...
- 解决 .htaccess 导致的403禁止访问
如果启用了mod_rewrite, 那么Options就一定要启用FollowSymLinks或者SymLinksifOwnerMatch, 否则会出现Fobidden页面禁止访问的错误. 于是把 O ...
- 循序渐进PYTHON3(十三) --2-- DJANGO之FORM表单(自动生成HTML标签和自定制提示信息)
在上一次的代码上做出进一步修改,使之能在页面上显示自定制的报错信息,并且使用form自动创建标签的功能. views.py from django.shortcuts import render,Ht ...
- javascript中的this总结
1.关于this 我们需要根据 "调用位置" 上函数的 "调用方式" 来确定函数中this使用的 "绑定规则" 2.绑定规则 非严格模式下: ...
- 第1天:Ansible安装部署
Ansible介绍 Ansible是一个简单的自动化引擎,可完成配置管理.应用部署.服务编排以及各种IT需求.它是一款使用Python语言开发实现的开源软件,其依赖Jinjia2.paramiko和P ...
- Python开发基础-Day8-装饰器扩展和迭代器
wraps模块 让原函数保留原来的说明信息 import time import random from functools import wraps def auth(func): '''auth ...
- Codeforces Round #196 (Div. 1) 题解
(CF唯一不好的地方就是时差……不过还好没去考,考的话就等着滚回Div. 2了……) A - Quiz 裸的贪心,不过要用矩阵乘法优化或者直接推通式然后快速幂.不过本傻叉做的时候脑子一片混乱,导致WA ...
- [BZOJ 1857] 传送带
Link: BZOJ 1857 传送门 Solution: 首先中间的两个拐点$C,D$肯定都在传送带$A,B$上 接下来感性发现固定点A/C,另一个点C/D时间随位置的变化为单峰函数 这样就是三分套 ...