
NeoPoculus
NeOculus分支,已更新对新模组、光影及优化功能的兼容性,并新增了一个针对Sodium-Embeddium跨模组的兼容层。这使得一些原本要求Sodium的模组现在能与Embeddium兼容。
查看大图NeOPoculus

为 NeoForge 提供着色器支持,并让世界超越你的渲染距离继续延伸。
NeOPoculus 是 NeOculus 的一个分支, 后者又分支自 Oculus,而它则是由 Iris 移植到 Forge 系加载器上的。 这些项目所做的一切——加载 OptiFine/ShadersMod 光影包、游戏内光影设置界面、Embeddium 集成——都是他们的功劳,而在这里所有这些功能依然可用。
本分支新增的是 Horizon:一个内置的远距离地形系统,外加一系列针对此前会崩溃或无法渲染的模组和平台的兼容性修复。
Horizon —— 超越视距的地形
Horizon 会记录你探索过的地形,按世界和维度分别保存,并将其绘制到远超服务器视距之外。它不需要服务端模组,也无需额外下载:所有内容都从客户端自身已接收的区块中捕获,因此它在原版服务器、领域服和单人世界中都能正常工作。已探索的地形会写入磁盘,因此世界在不同游戏会话之间能保留其全景。
细节会随距离分五个层级逐渐淡化,因此远处的地面依然保持低成本。离你最近的一圈以完整方块分辨率绘制,并有意与已加载区块重叠,这正是衔接处不可见的原因——它还会回填仍在加载中的区块,因此世界不会再在渲染距离边缘突然冒出。
默认开启,只需一个勾选框即可关闭。
两种引擎
| 经典(默认) | 体素(实验性) | |
|---|---|---|
| 存储内容 | 地表高度、水面高度、每列一种颜色 | 真实方块、每格生态群系和光照 |
| 洞穴、悬垂、室内 | 不表现 | 表现 |
| 纹理 | 每列平铺颜色 | 真实方块纹理 |
| 方块形状 | 完整立方体 | 台阶、雪、地毯、栅栏、植物保持其形状 |
| 水 | 不透明表面 | 真正半透明 |
经典引擎基于高度图,开箱即用:更轻量、历史更久、久经考验。体素引擎较新,也是开发投入的重点——如果你希望在远处看到洞穴、纹理和真实的方块形状,可以在 体素引擎(实验性) 下开启它。它被诚实地标记为实验性:它是两者中较新的一个,实际应用时间较短。
光影包支持
远处的地形经由你的光影包渲染,因此它会获得光影包自身的光照、雾效和阴影,而不是像贴在地平线上的平面剪贴画。
这有两种实现方式。支持 Distant Horizons 的光影包包含 dh_terrain 程序,Horizon 会将其地形送入该程序。没有此程序的光影包则会改用其普通的 gbuffers_terrain 程序——每个光影包都有这个程序,这也是唯一能显示真实方块纹理的路径。
在 16 个测试光影包中,11 个能渲染带阴影的远处地形:
- 通过
dh_terrain—— Bliss、BSL、Complementary Reimagined、Complementary Unbound、Sildur's Vibrant Shaders、Solas - 通过
gbuffers_terrain—— ARTShade、Aurora's Shaders、Kappa、Lux、The Better Default
另有五个光影包目前在本模组中完全无法加载:iterationT、Noble、PaintBound、photon 和 Reverie。它们在 Embeddium/Iris 层的着色器编译阶段即失败,报错类似 undefined variable "iris_FogColor"。这是着色器技术栈本身的缺陷,与 Horizon 无关——无论远近地形是否开启,这些光影包在本模组中都无法工作。这是已知问题,而非受支持的配置。
未列入此列表的光影包属于未经测试,而非不支持。
多人游戏与预生成地形
服务器管理员可以提前生成远处地形,而不是等待玩家探索,并在玩家加入时将其流式传输给玩家——这样新玩家能立即看到完整的景观,而不是一堵缓慢退去的雾墙。
/horizon lod 命令可为一个区域、一个半径范围或整个世界生成地形,并限制为权限等级 4(服主)。从服务器接收的地形被视为不可信数据:方块和生物群系 ID 会被转换为客户端自身的编号体系而非直接采用,长度和 ID 都经过范围检查,并且磁盘预算限制了单个会话可接收的数据量。最坏情况下,一个不正常服务器只会导致远处景色看起来怪异。
从命令生成 LOD 需要在单人世界中使用体素引擎。
磁盘使用
远处地形会缓存在磁盘上,且缓存有上限。达到上限时会明确告知你,而不会让你困惑为什么地平线不再扩展。可选的自动清理功能会优先删除距离你最远的区域以释放空间——你实际生活的区域会被保留,旧探险的远端最先被清除。清空按钮可完全清除缓存,并带有确认勾选。
设置
所有设置均位于 视频设置 → Horizon LOD(Embeddium 的设置界面,或原版界面)下,可在游戏中编辑。
| 设置 | 默认值 | 功能 |
|---|---|---|
| Horizon LOD | 开启 | 总开关。 |
| 体素引擎 | 关闭 | 较新的引擎:洞穴、纹理、真实方块形状。 |
| 使用着色器渲染 | 开启 | 通过你的光影包绘制远处地形。 |
| LOD 距离 | 256 区块 | 远处地形延伸的距离(16–4096)。 |
| 远处植被 | 33% | 绘制多少远处的草和花。通常是最大的单项性能提升来源。 |
| 每单元 LOD 纹理 | 开启 | 在着色器下以真实尺寸显示方块纹理;代价是几何体。 |
| 着色器下的纹理化 LOD | 关闭 | 即使光影包支持 Distant Horizons 也强制使用纹理化路径。 |
| LOD 内存预算 | 256 MB | 体素引擎在写回磁盘前可在内存中持有的地形数据量。 |
| 自动清理 / 清空 | 关闭 | 磁盘缓存管理。 |
另有细节环、上传速率、工作线程和保存间隔等选项可供调优。
所有选项也会写入 config/neoculus-horizon.properties。
如果远处地形让你性能开销过大: 首先降低 远处植被——植物是大量细小的透明四边形,每像素的成本远超实体地面。然后降低 LOD 距离,最后关闭 每单元 LOD 纹理。
兼容性修复
以下是对此前损坏内容的修复,而非新功能。
基于 Sodium API 构建的模组
大量渲染模组都是针对 Sodium 的公开 API 编写的。在运行 Embeddium 的 NeoForge 环境中,这些类不存在,此类模组会在加载时因 NoClassDefFoundError 直接崩溃,根本到不了主菜单。
本分支内置了该 API 的替代实现——颜色和法线辅助程序、矩阵和内存内建函数、精灵工具类,以及常见的顶点格式和属性——使这些模组能够加载运行。它们通过普通路径而非 Sodium 的快速路径渲染,这在此技术栈上是正确的结果:快速路径会礼貌地报告“不可用”,而行为规范的模组会回退到自己的实现。
有两个诚实的注意事项。一个强制要求快速路径而非仅请求它的模组仍然会拒绝运行——该 API 同时设计了“尝试”和“必须有”两个入口点,只有前者能优雅降级。此外,目前只有 Flerovium 经过了端到端验证;其他基于 Sodium API 的模组很可能正常工作但未经过测试。如果有模组无法正常工作,在 Discord 或问题追踪器上报告将非常有帮助。
LittleTiles
LittleTiles 在 Embeddium 下可正确渲染,包括半透明方块——玻璃结构能正常显示而不会消失或渲染为不透明——并且当你编辑结构时,面会正确重新剔除,因此方块在修改后不会留下空洞或过时的表面。
平台与驱动程序
- macOS —— 捆绑的 AcceleratedRendering 此前会在加载世界时导致游戏原生崩溃,且仅限无 OpenGL 计算支持硬件,包括所有 Mac。现已检测到该情况并透明禁用,回退到原版渲染。
- Sinytra Connector —— 安装 Connector 时,不再在 初始化游戏 阶段崩溃。
- 更严格的 OpenGL 驱动程序 —— 游戏不再因驱动程序报告 GL 3.2 核心上下文但通过扩展暴露 4.x 而拒绝启动。
- 实体闪烁 —— 实体、方块实体、手持物品和手臂在移动时不再闪烁消失。
AcceleratedRendering 也已从 1.0.0 更新至 1.0.8。
需求
- Minecraft 1.21.1
- NeoForge 21.1.0 或更新版本
- Embeddium —— 必需
与 OptiFine 不兼容。请勿与 Oculus、Iris 或 NeOculus 一并安装——本模组将取代它们。
已知限制
- 不宣称任何性能数据。 Horizon 绘制了更多世界,因此成本高于不绘制。是否值得取决于你的硬件,上述设置的存在正是为了让你自己决定。
- 十六个测试光影包中有五个无法加载,原因与远处地形无关(见上文)。
- 远处地形目前以双面绘制;单面绘制已在计划中,将使其更省性能。
- 你看不到的地下地形仍会被绘制。剔除它们已在计划中。
- 经典引擎无法显示洞穴或悬垂——这正是体素引擎的用途。
支持与 Bug 报告
- Discord —— 问题、帮助、光影包报告
- GitHub Issues —— Bug 与崩溃
- 源代码
报告渲染问题时,附上光影包名称和版本、你的 latest.log,以及问题在关闭 Horizon LOD 后是否仍然存在,会非常有帮助——仅最后一项就能区分 Horizon 的 Bug 与着色器技术栈的 Bug。
致谢与许可证
本模组建立在前人的工作之上:
- Iris —— 此处所有内容所基于的着色器管线,作者 coderbot、IMS 及贡献者
- Oculus —— Forge 移植版
- NeOculus —— 本模组所基于的 NeoForge 分支
- Embeddium —— 必需的渲染引擎
- AcceleratedRendering —— 已捆绑
- Swaying Garden —— 已捆绑
Horizon 的灵感来自 Distant Horizons 和 Voxy,并与两者不共享任何代码。
依据继承自 Iris 的 LGPL-3.0 许可证授权。
正在加载版本记录…








正在加载评论…
评论在新手盒子客户端中发表,这里同步展示。