首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >符号距离场的MipMaps

符号距离场的MipMaps
EN

Computer Graphics用户
提问于 2018-07-03 09:33:20
回答 2查看 1K关注 0票数 4

在为SDF创建mipMaps时,是否有保留细节的算法?例如,当只有一个像素超过阈值时,由4个像素组成的组将以双线性方式丢失该像素,并且创建具有'max‘值的mipMaps将增加噪声。当SDF的目的是将相同的图像保持在较低的分辨率时,降低该图像的最佳方法是什么?

为了生成SDF,我使用8 8 8SSEDT

EN

回答 2

Computer Graphics用户

回答已采纳

发布于 2019-11-14 02:29:41

当您正在制作SDF时,通常有无限详细的数据(例如,bezier曲线组成一个字母),这些数据都是生成特定大小的SDF图像的。

如果您做的是64x64,那么第一个mip将是32x32。使mip正确的方法是从源数据创建SDF纹理的原始过程,但是在32x32而不是64x64时这样做。重复另一个mips。

不过,它会在较低的分辨率下分解,但这正是SDF工作的本质。比较正确,但速度较慢的方法是做超采样。在像素的不同位置采集多个样本,并对结果进行平均。

票数 3
EN

Computer Graphics用户

发布于 2019-11-12 08:21:55

根据我的发现,有符号距离字段不适合缩小(在屏幕上的像素上绘制文本比在纹理中覆盖的像素少),不管您如何映射它们。它们的主要用例是放大,它们在这里闪闪发光,因为当渲染对象在屏幕上增大时,不需要增加距离字段纹理的大小。

用有符号的距离字段呈现(例如文本):

  • 纹理应该足够大,以表示您要渲染的对象的全部几何细节。一个很好的经验法则是,纹理中的每一行/每一笔都应该至少有2个像素宽。
  • 使用基于距离字段的纹理在屏幕上绘制的对象应该在纹理中的屏幕上更大(例如,在距离字段中覆盖64x64像素的字形纹理应该覆盖屏幕上每个方向的至少64个像素)。

如果这些属性不适用于您的用例,那么最好使用直接栅格化的纹理(而不是距离字段),因为那些mip映射要好得多。

票数 2
EN
页面原文内容由Computer Graphics提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://computergraphics.stackexchange.com/questions/7769

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档