惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

Martin Fowler
Martin Fowler
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
M
MIT News - Artificial intelligence
F
Fortinet All Blogs
Cyber Security Advisories - MS-ISAC
Cyber Security Advisories - MS-ISAC
B
Blog
Microsoft Azure Blog
Microsoft Azure Blog
I
InfoQ
Microsoft Security Blog
Microsoft Security Blog
N
Netflix TechBlog - Medium
G
Google Developers Blog
L
LangChain Blog
腾讯CDC
大猫的无限游戏
大猫的无限游戏
U
Unit 42
Google DeepMind News
Google DeepMind News
人人都是产品经理
人人都是产品经理
罗磊的独立博客
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
小众软件
小众软件
The GitHub Blog
The GitHub Blog
博客园_首页
GbyAI
GbyAI

博客园 - linyizsh

t&h MTE Best fit gbuffer normal MLAA(Morphological Antialiasing) Volumetric Obscurance ao propagation volume... lpv 说下pack/unpack normal的问题 CheckPoint 修改crysis支持nvperfhud volume light/light shaft/god ray 小更新下,加了DOF DeferShading + VSM + HDR + SSAO CheckPoint d3d10 放几张美图 4.1 Atmospheric Scattering prt ZT
Mipmap不连续问题。
linyizsh · 2010-10-17 · via 博客园 - linyizsh

一个容易疏忽的问题。

图:

    模型的边缘有个碍眼的白边,这个是由于计算水下的caustic的时候用了深度来计算某个tex的uv,结果产生这个白边。(图压缩后变难看了。。。)

这个不是算法错,也不是什么数据问题。而是由于使用的tex带有mipmap,但由于uv从深度算来,因此在ps里,边缘相邻两个像素的uv有个跳变,使gpu在这个地方出现lod计算错误,因此取了一个错误的值。

    解决的办法有两个,一个是自己计算lod,可以通过采样边缘的像素,在xy方向选深度差最小的那个相邻像素来计算ddx ddy。

另一个办法是tex如果尺寸比较小的话可以不要用mipmap,总是用0层,则不会出现问题。

解决后的图:

    这个问题其实存在的地方并不少,只要使用有突然跳跃的数值(比如这里的深度)来计算mipmap tex的uv,则都有可能会出现,不过有些情况下这个问题不太明显。

不解决其实也没啥问题,作为游戏来讲用户也不一定注意,所以这个问题也容易被疏忽,不过如果追求完美的图像的话,就总觉得有些别扭。