Naiad-一张图搞定SDF的概念

Naiad-一张图搞定SDF的概念SDF Signed Distance Field 译为有向距离场 有向 距离 场 这三个词非常精确的描述了 sdf 究竟是个什么东西 GPU Gems 3 中是这么描述 sdf 的 SDF 是由到 多边形模型 物体表面最近距离的采样网格 作为惯例 使用负值来表示物体内部

大家好,我是讯享网,很高兴认识大家。

SDF:

Signed Distance Field,译为有向距离场,“有向”、“距离”、“场”这三个词非常精确的描述了sdf究竟是个什么东西。GPU Gems 3中是这么描述sdf的:“SDF是由到(多边形模型)物体表面最近距离的采样网格。作为惯例,使用负值来表示物体内部,使用正值表示物体外部。SDF理念对于图形图像及相关领域具有很大的诱惑力。它经常被用于布料动画碰撞检测、多物体动力学、变形物体、mesh网格生成、运动规划和雕刻。”

关于sdf的更多知识可参考如下链接GPU Gem 3Byte wrangler`s blog,SIGGRAPH2007_AlphaTestedMagnification

naiad中的sdf是个3d的东西,但我接下来用自己制作的一幅二维图像来解释2dsdf,这样反而更容易理解3dsdf~

Naiad:一张图搞定SDF的概念
讯享网

1

1中:

1、蓝色线条为sdf的零边界连线,在naiad中则是iso-scope显示的iso surface

2、“有向”“距离”“场”的概念:voxel中数字正负与黑色箭头代表“signed”,正负数字与零边界之差为“distance”,青**域代表“field”。

3、青**域为sdf存在的区域,在naiad中则是fine tile区域。

 

 

Iso-surface

译为等值面、等参面、等值参数面,在naiad中可以理解为一种用于可视化sdf等值面的一种显示方法,iso-scope默认显示的是sdf的零参数面(零边界)。

 

 

iso-scope

iso-scope用来查看sdf在不同边界值下的iso-surface,naiad中使用的非常频繁。

Naiad:一张图搞定SDF的概念

2

 


Naiad:一张图搞定SDF的概念

3

 

iso-scope不仅能显示模型的原生sdf,也能显示原生sdf通过零边界偏移后的情况,如图4:

Naiad:一张图搞定SDF的概念

4

 

4Iso  Value中的数值0.1可以理解为显示SDF值为0.1的等值面。

 

iso-scope所查看的对象必须是body,而且这个body必须带有这样一个Field Channel,这个Field Channel必须是distance channel,也就是sdf

 

Quality菜单下

Slice Countiso-scope的显示原理是把sdf根据voxel进行采样并切片显示。Slice Count越高,sdf显示越细致,显存\刷新速度越慢,Slice Count与显存占用呈线性关系。

SuperSampling:对于voxel的超采样精度。SuperSampling越高,sdf显示越准确,显存\刷新速度越慢,SuperSampling与显存占用成指数递增关系,过高容易导致显存溢出,显卡停止响应。

 

 

tile-scope

tile-scope用来查看bodytile-layouttile-layout指的是naiadbodyfield channel所存在的区域。查看tile-layoutnaiad中用来了解资源占用以及各种性能问题诊断的重要手段。一个正常的带有fieldbody通常有能将其粒子、模型完全包裹的tile-layout,如图5:

Naiad:一张图搞定SDF的概念

5


 tile-layout包含fine tilecoarse tilesdf只存在于fine tile中,通常关注fine tile就可以。

小讯
上一篇 2025-01-07 16:28
下一篇 2025-03-10 19:34

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/126931.html