本文仅代表个人理解,谬误之处请指正。

SDF:

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

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

在naiad中的sdf是个3d的东西,但我接下来用自己制作的一幅二维图像来解释2d的sdf,这样反而更容易理解3d的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中使用的非常频繁。

图2

图3

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

图4

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

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

Quality菜单下

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

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

tile-scope:

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

图5

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

再分享一下我老师大神的人工智能教程吧。零基础!通俗易懂!风趣幽默!还带黄段子!希望你也加入到我们人工智能的队伍中来!https://blog.csdn.net/jiangjunshow

转载于:https://www.cnblogs.com/skiwnchiwns/p/10345407.html

一张图搞定SDF的概念相关推荐

  1. android 视网膜黄斑检查 amsler,自测黄斑病变 | 一张图搞定

    原标题:自测黄斑病变 | 一张图搞定 关注 很多人提到黄斑都唯恐避之不及,但你知道吗?人体也有一个重要的"黄斑"部位是必须保护的那就是眼底黄斑区,它跟我们的视觉是密切相关的. 如果 ...

  2. 【一张图搞定关机程序】让你的代码有趣起来!送兄弟送闺蜜,快乐原来如此简单!(赋全过程和结果,超详细解说)

    从这里开始让你的代码有趣起来 事情是这样的 关机程序 实现关机指令 代码实现 如何把程序送出去 故事后续 快乐传递 事情是这样的 你也许不会想到,简单的几行的代码居然可以带来如此多的快乐,那么事情究竟 ...

  3. Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!)

    Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!) 目录 利用学生计算器计算一大堆的平均数和方差教程 利用学生计算器计算一大堆的平均数和方差教程 我们的学生计算器其实有很多功 ...

  4. 两张图搞定IJK源码

    IJK源码两张图就可以搞定,一张是IJK从播放到停止的代码流程图,一张是IJK的线程模型图

  5. oauth2 增加token 返回参数_一张图搞定OAuth2.0

    公众号:低并发编程(dibingfa) 目录 1.引言 2.OAuth2.0是什么 3.OAuth2.0怎么写 1.引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常简 ...

  6. 一张图搞定OAuth2.0

    1.引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常简单的一件事情,网上一堆神乎其神的讲解,让我不得不写一篇文章来终结它们. 一项新的技术,无非就是了解它是什么,为什 ...

  7. android启动页广告图,一张图搞定APP启动页广告

    之前我们产品里的启动页比较简单,就是背景色加上我们的logo.slogan等,这种形式适配起来比较容易,把元素切出来交给开发写出来就行.最近由于运营的需求,我们需要在APP启动页展示广告,广告图更新频 ...

  8. 三张图搞定TCP 握手、HTTPS、TLS加密过程

    1. 抓包内容(WireShark) 2. 搞定握手.挥手.SSL加密过程 3. 消息内容(Charles) 之前看到写的比较好的文章,有文字详细叙述: TLS版本差异 https://zhuanla ...

  9. 可编程led灯带原理_88张图搞定层板灯带的设计、安装、收口及检修!

    dop设计(ID:dopdesign)原创 作者丨泽顺 编辑丨那兰 "光之于空间,犹如空气之于生命" 光的存在赋予了空间生命和灵魂.无论是建筑空间还是室内装饰设计,光都是设计当中必 ...

最新文章

  1. python空值填充_pandas | DataFrame基础运算以及空值填充
  2. 关于XAMPP环境配置
  3. 2021-04-28 Python可视化图表生成-Matplotlib绘图
  4. ZedGraph怎样在双击图形后添加箭头标记
  5. 【Noip模拟By yxj】
  6. PLM Integration
  7. 《推荐系统实践》样章:如何利用用户标签数据
  8. c语言利用栈将字符串逆序输出,【C语言】利用栈将数组中字符串逆序
  9. Python06 向前Euler法、向后Euler法、梯形方法、改进的Euler方法以及四阶Runge_Kutta方法(附代码)
  10. 十六进制高低位转换,返回十进制数
  11. 项目团队管理 Atitit 职位的自动分配草案 attilax总结
  12. 字节码指令之同步控制指令
  13. android动态设置渐变背景
  14. CapstoneCS5265设计原理图|CS5265设计DP转HDMI2.0 4K60HZ转换电路|CS5265demoboard
  15. 计算密码子频率的代码R语言_科学网—R语言终止密码子统计 - 熊荣川的博文
  16. 【OSChina-MoPaaS应用开发大赛】幼家宝
  17. 虚拟机Hadoop localhost:8080无法打开解决办法
  18. JAVA Apache POI解析docx格式的word文件并提取带样式文本
  19. AWVS_扫描报告分析
  20. 计算机视觉算法 面试必备知识点(2022必会)

热门文章

  1. 大数据WEB阶段 (六)MySql详解(一)
  2. 【Linux】一步一步学Linux——shopt命令(214)
  3. 【Linux】一步一步学Linux——find命令(47)
  4. 电子计算机信息工程都是做什么的,电子信息工程专业将来干什么 就业前景好不好...
  5. java 的tree_Java TreeSet higher()方法
  6. html 根作用域,AngularJS入门教程之Scope(作用域)
  7. php中的意外type字符串,关于php:解析错误:语法错误,意外’文本’(T_STRING),期待’,’或’;’...
  8. 上行短信 写入mysql_7、上行短信处理服务 -功能详细设计 --短信平台
  9. 【模板】第二类斯特林数Stirling
  10. Codeforces 845 A. Chess Tourney 思路:简单逻辑题