一张图搞定SDF的概念
本文仅代表个人理解,谬误之处请指正。
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的概念相关推荐
- android 视网膜黄斑检查 amsler,自测黄斑病变 | 一张图搞定
原标题:自测黄斑病变 | 一张图搞定 关注 很多人提到黄斑都唯恐避之不及,但你知道吗?人体也有一个重要的"黄斑"部位是必须保护的那就是眼底黄斑区,它跟我们的视觉是密切相关的. 如果 ...
- 【一张图搞定关机程序】让你的代码有趣起来!送兄弟送闺蜜,快乐原来如此简单!(赋全过程和结果,超详细解说)
从这里开始让你的代码有趣起来 事情是这样的 关机程序 实现关机指令 代码实现 如何把程序送出去 故事后续 快乐传递 事情是这样的 你也许不会想到,简单的几行的代码居然可以带来如此多的快乐,那么事情究竟 ...
- Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!)
Math:利用学生计算器计算一大堆的平均数和方差思维图文教程(一张图搞定!) 目录 利用学生计算器计算一大堆的平均数和方差教程 利用学生计算器计算一大堆的平均数和方差教程 我们的学生计算器其实有很多功 ...
- 两张图搞定IJK源码
IJK源码两张图就可以搞定,一张是IJK从播放到停止的代码流程图,一张是IJK的线程模型图
- oauth2 增加token 返回参数_一张图搞定OAuth2.0
公众号:低并发编程(dibingfa) 目录 1.引言 2.OAuth2.0是什么 3.OAuth2.0怎么写 1.引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常简 ...
- 一张图搞定OAuth2.0
1.引言 本篇文章是介绍OAuth2.0中最经典最常用的一种授权模式:授权码模式 非常简单的一件事情,网上一堆神乎其神的讲解,让我不得不写一篇文章来终结它们. 一项新的技术,无非就是了解它是什么,为什 ...
- android启动页广告图,一张图搞定APP启动页广告
之前我们产品里的启动页比较简单,就是背景色加上我们的logo.slogan等,这种形式适配起来比较容易,把元素切出来交给开发写出来就行.最近由于运营的需求,我们需要在APP启动页展示广告,广告图更新频 ...
- 三张图搞定TCP 握手、HTTPS、TLS加密过程
1. 抓包内容(WireShark) 2. 搞定握手.挥手.SSL加密过程 3. 消息内容(Charles) 之前看到写的比较好的文章,有文字详细叙述: TLS版本差异 https://zhuanla ...
- 可编程led灯带原理_88张图搞定层板灯带的设计、安装、收口及检修!
dop设计(ID:dopdesign)原创 作者丨泽顺 编辑丨那兰 "光之于空间,犹如空气之于生命" 光的存在赋予了空间生命和灵魂.无论是建筑空间还是室内装饰设计,光都是设计当中必 ...
最新文章
- python空值填充_pandas | DataFrame基础运算以及空值填充
- 关于XAMPP环境配置
- 2021-04-28 Python可视化图表生成-Matplotlib绘图
- ZedGraph怎样在双击图形后添加箭头标记
- 【Noip模拟By yxj】
- PLM Integration
- 《推荐系统实践》样章:如何利用用户标签数据
- c语言利用栈将字符串逆序输出,【C语言】利用栈将数组中字符串逆序
- Python06 向前Euler法、向后Euler法、梯形方法、改进的Euler方法以及四阶Runge_Kutta方法(附代码)
- 十六进制高低位转换,返回十进制数
- 项目团队管理 Atitit 职位的自动分配草案 attilax总结
- 字节码指令之同步控制指令
- android动态设置渐变背景
- CapstoneCS5265设计原理图|CS5265设计DP转HDMI2.0 4K60HZ转换电路|CS5265demoboard
- 计算密码子频率的代码R语言_科学网—R语言终止密码子统计 - 熊荣川的博文
- 【OSChina-MoPaaS应用开发大赛】幼家宝
- 虚拟机Hadoop localhost:8080无法打开解决办法
- JAVA Apache POI解析docx格式的word文件并提取带样式文本
- AWVS_扫描报告分析
- 计算机视觉算法 面试必备知识点(2022必会)
热门文章
- 大数据WEB阶段 (六)MySql详解(一)
- 【Linux】一步一步学Linux——shopt命令(214)
- 【Linux】一步一步学Linux——find命令(47)
- 电子计算机信息工程都是做什么的,电子信息工程专业将来干什么 就业前景好不好...
- java 的tree_Java TreeSet higher()方法
- html 根作用域,AngularJS入门教程之Scope(作用域)
- php中的意外type字符串,关于php:解析错误:语法错误,意外’文本’(T_STRING),期待’,’或’;’...
- 上行短信 写入mysql_7、上行短信处理服务 -功能详细设计 --短信平台
- 【模板】第二类斯特林数Stirling
- Codeforces 845 A. Chess Tourney 思路:简单逻辑题