亚特拉斯之页

亚特拉斯之页

Minecraft Fabric模组,通过透明地将超大型纹理图集分布在多个物理图集页面中,实现超高分辨率资源包的支持。

处理中

厌倦看到这个了吗???

隆重介绍

Pages of Atlas 是一款客户端 Fabric 模组,允许超大的纹理图集分布到多个物理 GPU 纹理上。

它专为高分辨率资源包设计,这些资源包合并后的纹理图集在其他情况下会超出用户 GPU 支持的最大纹理尺寸。

Pages of Atlas 并非要求整个方块图集都放在一个巨大的 GPU 纹理中,而是将其分割成多个物理图集页,并将渲染路由到相应的页面。

Pages of Atlas 存在的原因

高分辨率的 Minecraft 资源包可能包含数千个大型纹理。

Minecraft 通常会在将这些纹理上传到 GPU 之前,将它们拼接成纹理图集。当资源包足够大时,生成的图集会超过 GPU 支持的最大纹理尺寸。

例如,一个最大纹理尺寸为 16384x16384 的 GPU 无法上传单个 32768x32768 的方块图集,即使显卡有足够的总显存来存储这些纹理。

这造成的是一个架构上的限制,而不仅仅是显存限制。

Pages of Atlas 通过允许逻辑上的 Minecraft 图集跨越多个物理 GPU 纹理来解决此问题。

每个精灵都会保留关于它包含在哪个物理图集页中的信息。在渲染过程中,Pages of Atlas 会选择适当的页面,同时保留 Minecraft 渲染器期望的纹理坐标。

快速演示视频

嵌入已移除: https://www.youtube-nocookie.com/embed/RcPUbGyeh4I

目标

Pages of Atlas 旨在:

    允许超高清资源包突破 GPU 的单纹理尺寸限制。
    支持多个物理方块图集页。
    保持正常的 Minecraft 地形渲染。
    支持实心、镂空和透明方块渲染。
    支持从分页图集渲染方块物品。
    在可行的情况下,与现代 Fabric 渲染栈保持兼容。
    避免要求对资源包本身进行更改。
    保持资源包无关性,而非与某个特定资源包绑定。

_Pages of Atlas 不提供纹理。_

它提供的是渲染基础设施,使得足够大的纹理包能够跨多个物理图集纹理运行。

兼容性

Pages of Atlas 被设计为一个客户端渲染模组。

当前的开发重点是与现代 Fabric 渲染生态系统的兼容性,包括涉及以下项的配置:

    Sodium
    Iris
    Continuity
    LabPBR 资源包工作流
    着色器包

诸如 Patrix 之类的高分辨率资源包已在开发和测试中广泛使用,但 Pages of Atlas 并非专门为 Patrix 设计。

其他超出普通方块图集纹理大小限制的资源包也可能受益于 Pages of Atlas。

特定于资源包的功能可能仍然需要其常规的配套模组。例如,连接纹理或混合纹理可能需要 Continuity 或其他兼容的实现。

着色器

Pages of Atlas 包含对现代 Minecraft 着色器配置所使用的基于着色器渲染路径的支持。

测试已涵盖诸如以下着色器环境:

    Complementary
    SEUS PBR
    BSL

着色器兼容性是一个活跃的开发领域。由于着色器包可以以不同方式实现其渲染管线,个别着色器包可能仍会暴露出兼容性问题。

如果您遇到特定于着色器的问题,请在报告问题时附上着色器名称和版本。

要求

Pages of Atlas 当前目标版本:

    Minecraft 26.2
    Fabric Loader w/api
    Java 25
    Iris 1.11.2
    Sodium 0.9.1

根据所使用的资源包和着色器配置,可能还需要其他渲染或资源包模组。

Pages of Atlas 是客户端模组。多人游戏服务器不需要因为客户端使用它来加载高分辨率资源包而安装 Pages of Atlas。

工作原理

Minecraft 通常将拼接好的纹理图集视为一个 GPU 纹理。

Pages of Atlas 在 Minecraft 的逻辑图集和上传到 GPU 的物理纹理之间引入了一个分页层。

在图集构建期间,精灵被分配到保持在 GPU 支持的纹理尺寸内的物理页面。

然后,Pages of Atlas 会跟踪包括以下信息:

    包含每个精灵的物理页面
    精灵在该页面内的坐标
    与该页面关联的物理纹理
    选择正确页面所需的渲染状态

然后,渲染代码可以使用正确的物理图集页,而无需资源包手动重组其纹理。

这允许有效的逻辑图集超过任何单个 GPU 纹理的最大尺寸。

GPU 限制

Pages of Atlas 并未消除 GPU 限制。

它专门绕过了单个纹理的最大尺寸限制。

GPU 仍然必须有足够的内存和带宽来存储和渲染资源包。

例如,将一个大图集拆分成多个 16384x16384 的纹理,使得使用一个无法作为单个物理纹理存在的图集成为可能,但合并后的页面仍然会消耗大量的显存。

因此,更高分辨率的资源包仍然要求很高。

Pages of Atlas 移除了一重要的架构上限;它并没有让高分辨率纹理变得毫无代价。

性能

性能在很大程度上取决于:

    资源包分辨率
    纹理数量
    物理图集页数量
    可用显存
    GPU 内存带宽
    着色器包
    着色器设置
    渲染距离
    其他渲染模组

Pages of Atlas 旨在使原本不可能的图集配置成为可能,同时将分页开销保持在尽可能小的水平。

用户仍应根据其硬件选择合适的分辨率资源包。

项目状态

Pages of Atlas 正在积极开发中。

分页架构已可运行,但兼容性测试仍在以下方面持续进行:

    资源包
    GPU
    Sodium 版本
    Iris 版本
    着色器包
    Minecraft 更新

渲染模组经常修改 Minecraft 渲染管线中与 Pages of Atlas 交互的部分,因此兼容性工作预计仍将是开发的重要组成部分。

欢迎提交错误报告和可重现的测试用例。

报告问题

在报告渲染问题时,请尽可能包含以下信息:

    Minecraft 版本
    Pages of Atlas 版本
    Fabric Loader 版本
    GPU 型号
    GPU 驱动程序
    操作系统
    资源包及其分辨率
    Sodium 版本(如果已安装)
    Iris 版本(如果已安装)
    着色器包及其版本(如果启用)
    相关的 Minecraft 日志
    显示渲染问题的截图

对于图集相关问题,Minecraft 日志特别有用,因为 Pages of Atlas 会记录有关图集构建和物理页面创建的信息。