论文链接
发表时间:1984年1月1日
发表于SIGGRAPH
引用量2099(截止2025-03-02)
重点难点介绍
这篇论文《Summed-Area Tables for Texture Mapping》由Franklin C. Crow撰写,发表于1984年7月的《Computer Graphics》杂志。论文主要探讨了一种用于纹理映射的预计算表技术——Summed-Area Table(SAT),并将其与传统的多分辨率纹理映射技术(如Mip Mapping)进行了比较。以下是论文的重点和难点:
论文重点
-
纹理映射的背景与问题
-
论文首先介绍了纹理映射在计算机图形学中的重要性,指出早期计算机合成图像的表面缺乏真实感,主要是因为缺乏复杂的纹理细节。
-
传统的纹理映射方法(如“最近邻像素”算法)在处理高分辨率纹理时容易出现锯齿(aliasing)问题,尤其是在纹理被高度压缩或拉伸时。
-
-
Summed-Area Table(SAT)技术
-
基本原理:SAT是一种预计算表技术,通过存储纹理图像的积分值(即每个像素值代表其左上角矩形区域内所有像素强度的累加和),可以在常数时间内计算任意矩形区域的平均纹理强度。
-
计算方法:对于任意矩形区域,其像素强度和可以通过表中的四个值通过简单的加减运算得到。具体公式为:
\[T[xr, yt] - T[xr, yb] - T[xl, yt] + T[xl, yb]\]其中,$T[x, y]$是表中坐标为$(x, y)$的值,$(xl, yb)$和$(xr, yt)$分别是矩形的左下角和右上角坐标。
-
优势:与传统的多分辨率纹理映射方法相比,SAT可以在类似的计算成本下提供更好的抗锯齿效果,并且能够处理更复杂的纹理压缩情况。
-
-
与多分辨率纹理映射(Mip Mapping)的比较
- Mip Mapping:通过存储多个分辨率较低的纹理图像来近似高分辨率纹理,计算时选择最接近当前分辨率的纹理图像进行采样。虽然计算速度快,但在某些情况下(如纹理沿单一维度压缩时)可能会导致模糊。
- SAT与Mip Mapping的性能对比:
- SAT需要更多的存储空间(每个表项可能需要24-32位),而Mip Mapping只需要增加约三分之一的存储空间。
- 在计算成本上,SAT在某些情况下(如纹理高度压缩时)可以通过减少插值操作来优化性能,而Mip Mapping则需要多次双线性插值。
- SAT在处理复杂纹理压缩时表现更好,尤其是在纹理沿单一维度压缩时。
-
纹理坐标的计算与边界处理
- 论文详细介绍了如何通过增量双线性插值计算纹理坐标,并处理纹理图像边界的情况。例如,当纹理图像在表面上重复时,需要正确处理边界处的值。
-
实验结果
- 论文通过一系列实验图像展示了SAT方法在抗锯齿和纹理压缩处理方面的优势。实验结果表明,SAT在某些情况下比Mip Mapping提供了更好的图像质量。
论文难点
-
Summed-Area Table的构建与理解
-
SAT的核心思想是通过预计算表中的积分值来快速计算任意矩形区域的平均纹理强度。理解这种积分表的构建方式以及如何通过简单的加减运算恢复任意区域的像素强度和,是阅读这篇论文的一个难点。
-
例如,表中的每个值是如何通过累加像素强度得到的,以及如何通过表中的四个值计算任意矩形区域的像素强度和,需要一定的数学基础和空间想象力。
-
-
与Mip Mapping的性能和存储对比
-
论文详细比较了SAT和Mip Mapping在计算成本、存储需求和图像质量方面的优劣。理解这些比较需要对两种技术的实现细节有深入的了解。
-
例如,SAT在某些情况下可以通过减少插值操作来优化性能,但在其他情况下可能需要更多的计算操作。这种权衡需要仔细分析和理解。
-
-
纹理坐标的增量计算
-
论文介绍了如何通过增量双线性插值计算纹理坐标,并处理纹理图像边界的情况。这部分内容涉及到复杂的几何和代数计算,理解起来可能比较困难。
-
例如,如何通过水平和垂直增量确定纹理矩形的边界,以及如何处理纹理图像在表面上重复时的边界问题。
-
-
实验结果的解读
-
论文通过一系列实验图像展示了SAT方法的优势,但这些图像可能需要仔细观察和对比才能理解SAT在抗锯齿和纹理压缩处理方面的实际效果。
-
例如,实验图像中展示了不同纹理压缩情况下的效果,读者需要理解这些图像中哪些部分体现了SAT的优势,哪些部分可能还需要改进。
-
总结
这篇论文的核心贡献是提出了一种新的纹理映射技术——Summed-Area Table,它通过预计算表的方式在计算成本和图像质量之间取得了良好的平衡。论文详细介绍了SAT的构建方法、计算过程以及与传统Mip Mapping技术的对比。理解SAT的原理和实现细节是阅读这篇论文的重点和难点,尤其是其在处理复杂纹理压缩和抗锯齿方面的优势。
论文详细讲解
这篇论文《Summed-Area Tables for Texture Mapping》由Franklin C. Crow撰写,发表于1984年7月的《Computer Graphics》杂志,是计算机图形学领域中关于纹理映射的经典论文之一。论文提出了一种新的纹理映射技术——Summed-Area Table(SAT),用于高效地实现抗锯齿纹理映射。以下是对这篇论文的详细讲解,包括其背景、方法、实现细节和实验结果。
1. 论文背景
在计算机图形学中,纹理映射是实现图像真实感的关键技术之一。纹理映射通过将二维纹理图像映射到三维表面上,为模型提供细节和真实感。然而,早期的纹理映射方法存在一些问题:
-
锯齿问题(Aliasing):当纹理被高度压缩或拉伸时,细节可能会变得锯齿状,尤其是在纹理的高频部分(如锐利的边缘或细节)。
-
计算成本:传统的纹理映射方法(如“最近邻像素”算法)在处理高分辨率纹理时计算成本较高,尤其是在纹理被高度压缩时。
-
复杂纹理的处理:对于复杂的纹理,传统的映射方法难以在实时渲染中实现高质量的效果。
为了解决这些问题,研究者们提出了多种改进方法,例如Mip Mapping(多分辨率纹理映射)和Summed-Area Table(SAT)。这篇论文重点介绍了SAT技术,并将其与Mip Mapping进行了详细对比。
2. Summed-Area Table(SAT)技术
2.1 SAT的基本原理
Summed-Area Table是一种预计算表技术,其核心思想是通过存储纹理图像的积分值来快速计算任意矩形区域的平均纹理强度。具体来说,SAT表中的每个值T[x, y]
表示从纹理图像的左下角(0, 0)
到当前像素(x, y)
的矩形区域内所有像素强度的累加和。
通过这种方式,可以在常数时间内计算任意矩形区域的像素强度和。假设我们想计算一个由(xl, yb)
(左下角)和(xr, yt)
(右上角)定义的矩形区域的像素强度和,可以通过以下公式快速计算:
其中,T[x, y]
是SAT表中坐标为(x, y)
的值。
2.2 SAT的优势
SAT技术的主要优势在于:
-
抗锯齿效果:通过计算矩形区域的平均纹理强度,SAT可以有效减少锯齿现象,尤其是在纹理被高度压缩或拉伸时。
-
计算效率:SAT的计算成本与纹理密度无关,可以在常数时间内计算任意矩形区域的平均强度,适合实时渲染。
-
灵活性:SAT允许使用矩形区域进行采样,而不是像Mip Mapping那样仅限于正方形区域,因此在处理复杂纹理压缩时表现更好。
2.3 SAT的实现细节
-
表的构建:
-
构建SAT表的过程非常简单。对于每个像素,将其强度值累加到其左边和下边的像素强度和中,然后减去左下角的重复部分。具体公式为:
\[T[x, y] = Texture[x, y] + T[x-1, y] + T[x, y-1] - T[x-1, y-1]\] -
这种方法只需要两次加法操作,因此构建SAT表的计算成本很低。
-
-
纹理坐标的计算:
-
在渲染过程中,纹理坐标需要通过增量双线性插值计算。对于每个像素,通过水平和垂直增量确定纹理矩形的边界。
-
例如,假设当前像素的纹理坐标为
(u, v)
,水平增量为(du, dv)
,则下一个像素的纹理坐标为(u+du, v+dv)
。
-
-
边界处理:
- 当纹理图像在表面上重复时,需要正确处理边界。例如,当纹理坐标超出范围时,可以通过取模操作将其映射回纹理图像的范围内。
3. 与Mip Mapping的对比
3.1 Mip Mapping技术
Mip Mapping是一种多分辨率纹理映射技术,通过存储多个分辨率较低的纹理图像来近似高分辨率纹理。在渲染时,根据当前纹理的压缩程度选择最接近的分辨率版本进行采样。虽然Mip Mapping计算速度快,但在某些情况下(如纹理沿单一维度压缩时)可能会导致模糊。
3.2 SAT与Mip Mapping的性能对比
-
计算成本:
-
Mip Mapping:需要多次双线性插值(两次双线性插值用于两个相邻分辨率的纹理,再加上一次插值用于混合两个结果),总共需要8次纹理访问、7次乘法和14次加法。
-
SAT:需要4次双线性插值来计算矩形的四个角,然后通过3次加法和1次乘法计算矩形区域的平均强度。总共需要16次纹理访问、14次乘法和27次加法。
-
-
存储需求:
-
Mip Mapping:存储需求较低,每个纹理像素只需要增加约三分之一的存储空间。
-
SAT:存储需求较高,每个表项可能需要24-32位,具体取决于纹理图像的大小。
-
-
图像质量:
-
Mip Mapping:在纹理沿单一维度压缩时可能会导致模糊,因为它假设纹理压缩是均匀的。
-
SAT:可以处理更复杂的纹理压缩情况,尤其是在纹理沿单一维度压缩时表现更好。
-
4. 实验结果
论文通过一系列实验图像展示了SAT方法在抗锯齿和纹理压缩处理方面的优势。实验结果表明,SAT在某些情况下比Mip Mapping提供了更好的图像质量。例如:
-
图3-7:展示了不同纹理映射方法的效果。SAT在处理纹理边界和压缩时表现更好,尤其是在纹理沿单一维度压缩时。
-
图6-7:展示了纹理在水平和垂直方向上被压缩时的效果。SAT能够更好地保持纹理的细节,而Mip Mapping可能会导致模糊。
5. 结论
论文的结论指出,SAT技术在抗锯齿和处理复杂纹理压缩方面表现优异,尤其是在纹理沿单一维度压缩时。虽然SAT需要更多的存储空间,但其计算效率和图像质量的优势使其成为一种有前景的纹理映射技术。此外,论文还指出,SAT技术可能有更广泛的应用,例如在其他二维图像处理领域。
6. 总结与展望
这篇论文提出了Summed-Area Table技术,为纹理映射领域提供了一种新的解决方案。SAT通过预计算表的方式在计算成本和图像质量之间取得了良好的平衡,尤其是在处理复杂纹理压缩和抗锯齿方面表现优异。虽然SAT需要更多的存储空间,但其灵活性和高效性使其在实时渲染中具有很大的应用价值。未来的研究可以进一步探索SAT技术的优化和扩展,例如改进滤波器设计或将其应用于其他图像处理领域。
原文翻译
纹理映射的累积面积表
弗兰克林·C·克劳
施乐帕洛阿尔托研究中心计算机科学实验室
摘要
通过使用预计算表,纹理映射的计算可以变得可行,这些表允许计算成本与纹理密度无关。这种技术的第一个例子是“mip”映射,它使用一组表,这些表包含从离散纹理函数逐步降低分辨率的表示,并对其进行滤波处理。一种替代方法是使用单个表,表中的值表示纹理函数的积分,而不是函数本身,这种方法可能在类似的计算成本下获得更好的结果。文中解释了支持这种新技术的必要算法,并将这种新技术的成本和性能与以前的技术进行了比较。
CR分类和主题:
1.3.3 [计算机图形学]:图像生成 - 显示算法;
1.3.7 [计算机图形学]:三维图形和真实感 - 颜色、着色、阴影和纹理。
通用术语:算法、性能
其他关键词和短语:抗锯齿、纹理映射、着色算法、表查找算法
1.0 引言
早期尝试在计算机合成图像中实现真实感时,一个常见的批评是表面缺乏趣味性。最初,所有表面都呈现出一种无光泽的哑光效果。后来,表面开始具有光泽和透明度。然而,真实表面的吸引力很大程度上在于其复杂且局部的表面变化,这些变化被称为纹理。这些变化过于复杂,无法通过传统方法建模,传统方法需要足够的顶点或控制点来精确再现表面。
1974年,Catmull [3] 构思并实现了第一个使用纹理图像应用于表面以产生实际纹理效果的系统。Blinn和Newell [1] 将Catmull的工作进行了推广和扩展,包括环境反射。Blinn [2] 进一步扩展了这一概念(相当壮观地!),实现了表面上的起伏效果(早期的努力仅实现了平面纹理,例如许多塑料桌面的假木纹理)。进一步的研究中,俄亥俄州立大学的研究人员 [7] 尝试通过扩展多边形表面来实现“真实”纹理。尽管产生了一些非常有趣的图像,但这种方法对于复杂的内容来说过于繁琐。
当纹理映射到表面上时,它必须被拉伸和压缩以适应表面的形状。三维透视视图进一步扭曲了映射到弯曲表面上的纹理。在合成数字图像时,必须为每个代表纹理表面的像素计算一对纹理坐标。纹理映射的最直接实现方式是简单地选择纹理图像中距离计算纹理坐标最近的像素(“最近邻像素”算法)。这种方法对于某些纹理和表面类别来说效果良好。
一个常见的纹理映射示例是将矩形纹理图像映射到球体上。在这里,纹理图像的每一部分在映射时将要经历的压缩程度是已知的。纹理可以被设计成在顶部和底部“预先拉伸”,以便在球体的极点附近进行映射。然而,除非纹理图像非常平滑且没有锐利的细节,否则锯齿问题会立即出现。锐利的细节会变得锯齿状,纹理会在高度压缩的地方破裂。当映射不是预先已知时,仅通过精心设计纹理无法控制锯齿。
Blinn [2] 和后来的Feibush等人 [5] 详细讨论了这个问题,并实现了良好但非常昂贵的解决方案。如果将正在计算的像素视为一个小区域,则可以为每个这样的区域的角计算纹理坐标。然后,像素强度是所有被角包围的纹理元素的平均值,按滤波函数加权。在纹理高度压缩的地方(例如球体的极点),这个操作可能需要对数百个纹理值进行加权求和。
Catmull和Smith [4] 展示了一种通过将卷积分解为两次传递来简化纹理强度计算的方法。该方法最初仅应用于在光栅上表示变换后的图像。对纹理进行水平传递,然后进行垂直传递,生成图像中应有的纹理值。该过程的简单性使其适合硬件实现;类似的技巧目前在电视特效中非常流行。然而,在纹理高度压缩的地方,仍然需要处理许多纹理像素才能生成一个图像像素。
Norton、Rockwood和Skomolski [9] 报告了一种通过将纹理表示为频率递增的带限项之和来限制纹理细节到适当水平的方法。当一个项的频率(即其细节水平)超过像素频率时,该项被“钳制”(强制为该项的局部平均值)。这种方法已在飞行模拟器的实时视觉系统中以非常有限的方式应用,但效果极佳。为了使用这种方法,必须使用傅里叶分析或类似技术将纹理分解为项,或者从傅里叶项合成纹理。
类似地,Haruyama和Barsky [8] 描述了实现Fournier、Fussell和Carpenter [6] 建议的分形纹理合成技术。分形合成的优点是细节水平可以非常自然地控制,这使得在纹理被压缩在表面上时抗锯齿更容易。然而,我们仍然没有处理纹理中锐利细节的方法。
Williams [10] 很早以前就构思并指导实现了一种非常巧妙的算法,将实际纹理映射扩展到更广泛的纹理类别。与其使用单个纹理图像,不如从原始图像中派生出多个不同分辨率的图像,通过平均降低分辨率。因此,在较低分辨率版本的纹理中,每个像素代表较高分辨率版本中一些像素的平均值。由于只能存储有限数量的表,因此必须从两个相邻表中混合值,以避免不同分辨率表示的纹理区域之间出现明显的差异。在处理高度压缩的纹理时,计算只需要确定要访问的表。纹理计算可以在所有像素上或多或少保持恒定。
Williams称他的技术为“mip”映射(“multum in parvo”的拉丁语,意为“小地方的许多事物”)。Mip映射通过假设任何像素处的纹理强度可以通过纹理的一个正方形区域的平均值来充分表示,从而以牺牲一些准确性为代价实现速度。正方形区域假设纹理压缩是对称的。然而,当表面从观众视线中弯曲时,纹理可能仅在一个维度上被压缩(见图1)。由于表寻址必须基于最大压缩轴,mip映射的纹理可能看起来比实际需要的更模糊。
威廉姆斯技术的推广可以通过允许使用矩形区域的纹理来提供对适当纹理强度的更好近似。使用一个更大的单表,可以从其中提取几乎连续范围的纹理密度。
2.0 使用累积面积表进行纹理映射
2.1 基本技术
可以使用单个表来实现mip映射,表中的每个纹理强度值被替换为一个表示从感兴趣像素到纹理图像左下角所定义矩形内所有像素强度之和的值。从这样的表中可以轻松恢复纹理中任意矩形区域内的所有强度总和。将总和除以矩形的面积,即可得到该矩形上的平均强度。
为了计算任意矩形区域内的强度总和,只需从表中取一个总和并做两次差值。例如,假设我们想要一个由左边的$x_l$、右边的$x_r$、底部的$y_b$和顶部的$y_t$界定的区域的总和(见图2)。总和由以下公式给出:
\[T[x_r, y_t] - T[x_r, y_b] - T[x_l, y_t] + T[x_l, y_b]\]其中$T[x, y]$是表中由坐标对$(x, y)$寻址的值。
换句话说,从区域右上角的表项开始,先减去右下角的表项,再减去左上角的表项。这将移除感兴趣矩形下方的所有区域,然后移除左侧的所有区域。请注意,矩形左下方的区域被减去了两次。必须通过加上左下角的表项来恢复这个区域。
最好的纹理强度近似值是通过在对强度求和之前,将滤波函数叠加在纹理矩形上计算得到的。不幸的是,由于总和必须预先计算,因此只能使用常数滤波函数。然而,在这种限制下,通常可以制作出令人信服的抗锯齿图像。
与上述多表mip映射类似,当纹理没有被大幅压缩(或纹理被放大时),为了平滑地表示锐利边缘,有必要在表项之间进行插值。此外,如果仅在像素位置处取纹理值,得到的离散化映射有时会导致表面移动时出现抖动。通过允许矩形区域的角位于纹理像素之间,可以获得更准确的映射。因此,必须通过从表中的四个值进行插值来计算矩形每个角的累积面积。一旦找到角的值,计算过程如上所述。
2.2 与多表mip映射的比较
为了大致了解累积面积表mip映射与多表mip映射的相对开销,我们可以统计必要的算术运算和纹理访问次数。这将为我们提供所需处理能力和纹理内存带宽的近似值。当纹理存储在帧缓冲区中(访问可能较慢)或虚拟内存中时,频繁的访问可能会显著增加短期工作集的大小,导致过多的页面置换。
对于这两种方法,大部分成本都用于线性插值。如果按照以下方式执行线性插值,需要两次乘法运算和两次加法运算:
\[b \times (1 - \alpha) + c \times \alpha\]或者更好的方式是,需要两次加法运算和一次乘法运算:
\[b + (c - b) \times \alpha\]其中$\alpha$用于在$b$和$c$之间进行插值。双线性插值需要在由四个相邻像素定义的区域内进行三次简单插值。
多表方法需要两次双线性插值,从两个相邻表中各取一个值,再加上一次在两个值之间的插值。总共需要8次纹理访问、7次乘法运算和14次加法运算。累积面积表方法需要四次双线性插值来获取矩形的四个角,然后三次加法运算来计算矩形上的总和,然后一次乘法运算来计算面积,一次除法运算来求平均值。总共需要16次纹理访问、14次乘法运算和27次加法运算。
当纹理高度压缩时,累积面积表方法有一种优化方式。在这种情况下,累积面积表中矩形区域的较大尺寸使得角点插值的影响可以忽略不计。不进行插值时,累积面积表方法的成本降低为4次纹理访问、两次乘法运算和3次加法运算。
当然,上述内容仅涉及在已知纹理坐标和纹理区域大小的情况下,计算纹理强度值的成本。对于多表方法,必须选择两个表并计算用于在表之间插值的“d”值。对于累积面积表方法,可以通过相邻像素的纹理坐标增量来定义矩形的角。在这两种情况下,与纹理强度计算相比,必要的计算量显得微不足道。
2.3 计算纹理坐标
为了更具体地说明,本文中生成图示的累积面积表代码是按照以下方式计算纹理矩形的:通过线性插值生成给定扫描段的端点状态,从而生成该扫描段。代表表面一部分的一组扫描段的端点是通过在顶部和底部段端点之间进行线性插值生成的。由于纹理坐标包含在端点信息中,因此它们会与其他所有内容一起进行线性插值。
像素处的纹理坐标是通过增量双线性插值计算的;在每个像素处,通过将增量加到前一个像素的坐标上,找到纹理坐标。这些在扫描段上恒定的增量用于部分确定纹理矩形,我们称它们为水平增量。
另一个必要的信息是获得下一条扫描线上对应像素的纹理坐标的增量对。保持这些增量,允许从上一个扫描段的端点增量地插值当前扫描段端点的纹理坐标。在每个扫描段的端点处使用这些增量,可以通过在扫描段端点之间的垂直增量之间进行增量插值来计算一对垂直纹理坐标增量。
给定像素处的水平和垂直纹理增量后,通过取$x$坐标的绝对值的最大值,以及类似地对$y$坐标进行操作,确定纹理矩形。这为真正的纹理区域提供了一种边界框,效果相当不错。由于使用累积面积表只能得到真正的纹理区域的粗略近似,因此可能有更有效的方法来确定矩形。然而,这种计算只是总计算量的一小部分;任何改进都只会对总运行时间产生微小的影响。
2.4 处理纹理图像边界
由于纹理图可能会在表面上重复多次,或者只覆盖表面的一部分,因此正确处理像素包含纹理图像边界的情况非常重要。在表面仅部分被纹理覆盖的情况下,只需在计算面积时截断纹理图像坐标,同时使用未修改的坐标。
当纹理在表面上重复多次时,必须将位于边界右侧或上方的值增加边界处的值。在极端情况下,一个像素可能包含多个边界,这意味着几个完整的纹理图像被映射到一个像素中。这种情况下需要进行多次加法运算,以获得矩形右上角的正确值。
3.0 构建和存储累积面积表
计算要存储在累积面积表中的值非常简单。生成一个表的算术成本为每个条目两次加法运算。最直接的方法是反转从表中获取累积面积的方法。为了得到表中的一个条目:将像素强度加到该像素下方的总和以及该像素左侧的总和中。这样会两次计算像素下方和左侧的总和。因此,必须减去该总和。算术成本是三次加法运算。
通过在扫描线上维护一个强度总和,可以用每次条目两次加法运算的成本来构建表。使用这种方法,一个表条目是通过将像素强度加到扫描线的总和中,然后加上该像素下方的总和来计算的。生成表的成本足够低(对于合理大小的纹理图像),因此在决定是否使用mip映射技术或更准确(但更昂贵)的技术(如Blinn [2]和Feibush等人 [5]的技术)时,这不应是一个重要的考虑因素。
累积面积表的一个潜在缺点是,它需要的每个条目位数比纹理强度的位数多得多。如果纹理强度以8位存储,那么一个1024×1024条目的表可能需要长达28位的条目。通过将纹理图像限制为256×256像素,可以用最少24位的条目来构建表。然而,大多数机器处理32位字比处理24位字更方便,那么为什么要限制自己呢?
可以设计各种节省位数的技术,将每个条目的位数减少到16位或更少。例如,可以将纹理图像划分为16像素的正方形区域,以限制这样一个区域内总和的大小为16位(256个8位条目)。每个区域存储一个32位的量,给出其左下角的总和。从表中恢复一个值需要将适当的32位量加到表条目中。尝试将每个条目的位数减少到12位会带来收益递减。为每组16个条目存储一个32位的量,涉及每个条目2位的开销,对于每个条目来说,有效位数为14位。
必须指出的是,多表mip映射方法在所需的存储方面表现更好。准备表时,每个纹理像素的位数仅增加三分之一,而累积面积表则增加了2到4倍。
4.0 结论
从图3-7可以看出,累积面积表在抗锯齿映射纹理方面效果良好。图中的蛋形表面是多边形近似,这导致纹理图案中出现明显的折痕。这里使用的示例是有意选择的,试图展示纹理技术的不足之处。理想情况下,纹理应该在图3中条纹蛋的两端平滑地过渡到均匀的灰色。更昂贵的方法可能会在这些情况下提供更准确的效果。然而,大多数图像比这里使用的示例更为宽容,这样的差异通常并不明显。
对多表mip映射方法的试验实现得出了不确定的结果。两种方法大致都将计算图像所需的时间增加了一倍。我的多表方法的非优化实现比我的累积面积方法实现大约慢10%,这似乎与第2.2节的含义相矛盾。然而,由于两种实现都没有经过仔细审查以寻找瓶颈,因此速度比较必须被视为不确定的。
图3-6中的图像似乎表明,累积面积方法在图像质量方面优于多表方法。然而,我更希望得到独立的确认这一结果。两种方法都有大量的优化空间。此外,多表方法尚未充分发挥其潜力。威廉姆斯和我的实现都使用未加权平均值来生成表,使用适当滤波技术生成的表可能会获得更好的结果。另一方面,累积面积方法可能也有扩展,允许使用更好的滤波器。
应该指出的是,恢复二维函数在矩形区域上的积分这一通用概念,其应用范围肯定比这里展示的更广泛。我目前还不知道其他应用,但我相信它们一定存在。
这项工作得益于施乐帕洛阿尔托研究中心无与伦比的设施以及我在成像领域的同事们。所有文本、图形和代码开发都是在Dorado个人工作站上使用Cedar编程环境完成的。
评论