AMD CubeMapGen 已到达生命周期终点。AMD 不再支持 CubeMapGen,但仍提供下载,但无任何保修。
概述
CubeMapGen 是一款用于导入、过滤、可视化和导出立方体贴图的工具。
尽管立方体贴图定义在球形域上,但标准的立方体贴图 mipchain 生成技术会独立过滤每个立方体面。这种方法的主要问题是信息不会在边缘之间传播,因此会在立方体面的边缘产生不希望出现的间断。几乎所有立方体映射硬件的一个局限性是双线性纹素过滤无法跨立方体面获取,这会在引入别名失真的同时,产生硬缝伪影,从而使缝隙问题更加严重。这两个累加的问题限制了立方体映射的实用性。
我们的预处理方法通过两种技术来缓解这个问题。第一种是角度范围过滤,它使用围绕中心采样点的角度范围来定义每个采样点的滤波器核,而不是基于固定的每面像素范围。角度范围过滤的优点是,用于所有采样点的过滤核具有恒定的实心角,并且能够从多个面上拉取纹素。此外,过滤会考虑滤波器中每个采样点所覆盖的实心角。另外,通过改变用于生成基本 mip级别所使用的滤波器的角度范围,可以预先计算出各种材料的预卷积反射。
第二种技术是边缘缝隙修复,它使用每个 mip级别的缝隙平均和平滑算法来有效地隐藏缝隙伪影。这使得低分辨率的立方体贴图 mip级别(甚至是 2×2 和 4×4)可以直接用于腐蚀金属着色器、哑光表面着色器,甚至用于漫反射照明。此外,通过在整个 mipchain 中提供高质量的立方体贴图,可以使用 texCUBEbias 和 texCUBELOD 指令进行选择性模糊。
以下是 CubeMapGen 提供的增强过滤和 mipchain 生成的一些示例

使用 CubeMapGen 工具生成的低分辨率立方体贴图 mip级别的可视化。

用于 mip-chain 生成的标准立方体贴图过滤会孤立地过滤每个立方体贴图面,并且不考虑其他面的纹素。因此,立方体贴图面之间的接缝非常明显。(2×2 级别)

在这里,您可以看到 CubeMapGen 的角度范围过滤和边缘缝隙修复即使在低分辨率 mip级别也能提供高质量的过滤。如您所见,2×2 级别现在可以直接用于漫反射照明。

这是标准立方体贴图 mip级别生成方案产生的缝隙伪影的另一个示例。(4×4 级别)

这是同一个立方体贴图,但使用了 CubeMapGen 进行过滤和生成 mipchain。4×4 级别现在可以直接用于抛光金属着色器。

这是使用 CubeMapGen 生成的立方体贴图的示例
结合 texCUBEbias HLSL 指令,以便通过 mip级别选择
在运行时对环境贴图进行选择性模糊。
功能列表
立方体贴图过滤和MipChain生成:角度范围过滤和边缘缝隙修复为预过滤环境映射和立方体贴图 mipChain生成提供了新的高质量过滤结果。立方体贴图过滤例程是多线程的,可以充分利用双 CPU 计算机的处理能力。
交互式立方体贴图组装:可以从单独的面图像组装立方体贴图,这些图像可以加载到每个立方体贴图面中,并进行交互式的垂直、水平和对角翻转以对齐各个面。
立方体贴图导入:从 HDRShop 垂直交叉立方体贴图图像、DirectX .dds 立方体贴图文件和单独的图像文件导入整个立方体贴图。支持 .dds、.jpg、.png、.dib、.hdr 和 .pfm 文件格式。
立方体贴图导出:将带有 mipchain 的立方体贴图导出为单个 .dds 文件、每个 mip级别的立方体交叉图像,或每个 mip级别每个立方体面的单独图像集合。还支持一种专门的 DXT 压缩器,通过在压缩过程中考虑立方体边缘的相邻块,可以创建无缝的 DXT 压缩立方体贴图。
命令行界面:允许您将 CubeMapGen 用作命令行工具,用于在脚本和批处理文件中处理立方体贴图。
HDR 图像支持:所有过滤和图像处理均在高动态范围内进行。可以通过 .hdr、.pfm 和 .dds 图像文件格式加载 HDR 图像。
HDRShop v1.0 插件功能:CubeMapGen 还可用作 HDRShop 插件,为 HDRShop v1.0 提供 CubeMapGen 的过滤功能。
要求
- Windows 2000 或 XP
- 一款能够支持像素着色器模型 2.0 的显卡(用于交互模式)。
- DirectX 9.0c 和
- 至少 128MB 内存