在为SDF创建mipMaps时,是否有保留细节的算法?例如,当只有一个像素超过阈值时,由4个像素组成的组将以双线性方式丢失该像素,并且创建具有'max‘值的mipMaps将增加噪声。当SDF的目的是将相同的图像保持在较低的分辨率时,降低该图像的最佳方法是什么?
为了生成SDF,我使用8 8 8SSEDT
发布于 2019-11-14 02:29:41
当您正在制作SDF时,通常有无限详细的数据(例如,bezier曲线组成一个字母),这些数据都是生成特定大小的SDF图像的。
如果您做的是64x64,那么第一个mip将是32x32。使mip正确的方法是从源数据创建SDF纹理的原始过程,但是在32x32而不是64x64时这样做。重复另一个mips。
不过,它会在较低的分辨率下分解,但这正是SDF工作的本质。比较正确,但速度较慢的方法是做超采样。在像素的不同位置采集多个样本,并对结果进行平均。
发布于 2019-11-12 08:21:55
根据我的发现,有符号距离字段不适合缩小(在屏幕上的像素上绘制文本比在纹理中覆盖的像素少),不管您如何映射它们。它们的主要用例是放大,它们在这里闪闪发光,因为当渲染对象在屏幕上增大时,不需要增加距离字段纹理的大小。
用有符号的距离字段呈现(例如文本):
如果这些属性不适用于您的用例,那么最好使用直接栅格化的纹理(而不是距离字段),因为那些mip映射要好得多。
https://computergraphics.stackexchange.com/questions/7769
复制相似问题