Перейти к содержимому

NeoPoculus

Форк Oculus с новыми функциями, совместимостью с модами, оптимизацией, выделенным рендерером LOD (клиент/сервер), совместимостью с Little tiles, общей совместимостью с модом Sodium

NeoForge
Загрузчики
NeoForge
Скачиваний на Modrinth
1,4 тыс.
Подписчиков на Modrinth
5
версия
1
Обновлён
7 августа 20267 авг.
Опубликован
в 2026
Little Tiles rendering · свайп

Коротко о моде

Работает на NeoForge
Для Minecraft 1.21.1
Нужен в игре; на сервере — по желанию
Последняя версия — 2.2.8 от 7 августа 2026
Лицензия LGPL-3.0-only — бесплатно
Где нужен
В игреобязателенНа серверенеобязателен

Нужен в игре; на сервере — по желанию

Версии игры1.21.1
Описание переведено автоматическиПоказать оригинал (EN)

LOD and LittleTiles rendering

NeOPoculus

Шейдеры для NeoForge, с миром, который продолжается за пределами дальности прорисовки.

NeOPoculus — это форк NeOculus, который форкает Oculus, который портирует Iris на загрузчики семейства Forge. Всё, что делают те проекты — загрузка шейдерпаков OptiFine/ShadersMod, экран настроек шейдеров в игре, интеграция с Embeddium — их заслуга, и всё это по-прежнему работает здесь.

Этот форк добавляет Horizon: встроенную систему дальнего прорисовывания ландшафта, а также набор исправлений совместимости для модов и платформ, которые раньше падали или ничего не отрисовывали.

Discord · Исходный код · Сообщить об ошибке


Horizon — ландшафт за пределами дальности прорисовки

Horizon записывает ландшафт, который вы исследуете, сохраняет его для каждого мира и измерения и отрисовывает его далеко за пределами дальности прорисовки сервера. Он не требует серверного мода и никаких дополнительных загрузок: всё захватывается из чанков, которые ваш клиент и так получает, поэтому он работает на ванильных серверах, реалмах и в одиночной игре одинаково. Исследованный ландшафт записывается на диск, так что мир сохраняет свою панораму между сессиями.

Детализация убывает с расстоянием в пять ступеней, поэтому дальняя земля остаётся дешёвой. Ближайшее к вам кольцо отрисовывается в полном разрешении блоков и намеренно перекрывает ваши загруженные чанки — именно это делает стык незаметным — и оно заполняет чанки, которые ещё загружаются, так что мир перестаёт появляться рывками на краю вашей дальности прорисовки.

Включено по умолчанию, и отключается одной галочкой.

Два движка

Classic (по умолчанию)Voxel (экспериментальный)
Хранитвысоту поверхности, высоту воды, один цвет на колонкунастоящие блоки, биом и свет на ячейку
Пещеры, нависания, интерьерыне представленыпредставлены
Текстурыплоский цвет на колонкунастоящие текстуры блоков
Формы блоковполные кубыплиты, снег, ковры, заборы, растения сохраняют свою форму
Воданепрозрачная поверхностьпо-настоящему полупрозрачная

Движок Classic — это карта высот, и именно его вы получаете из коробки: более лёгкий, старый и проверенный. Движок Voxel — новее, и именно в него вложена работа — включите его в разделе Voxel Engine (Experimental), если хотите пещеры, текстуры и настоящие формы блоков на расстоянии. Он честно помечен как экспериментальный: он новее из двух и провёл меньше времени в боевых условиях.


Поддержка шейдерпаков

Дальний ландшафт отрисовывается через ваш шейдерпак, так что он получает собственное освещение пака, туман и тени, вместо того чтобы выглядеть как плоская вырезка, наклеенная на горизонт.

Это происходит двумя способами. Пак, поддерживающий 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 командой нужен движок Voxel в одиночном мире.

Использование диска

Дальний ландшафт кэшируется на диск, и размер кэша ограничен. Когда лимит достигнут, вам об этом сообщают, а не оставляют гадать, почему горизонт перестал заполняться. Необязательная автоочистка освобождает место, удаляя сначала самые дальние от вас регионы — земля, на которой вы реально живёте, сохраняется, а дальний край старой экспедиции уходит первым. Кнопка полной очистки стирает кэш целиком, после подтверждения.


Настройки

Все настройки находятся в Настройки графики → Horizon LOD (экран Embeddium или ванильный) и редактируются прямо в игре.

НастройкаПо умолчаниюЧто делает
Horizon LODвкл.Главный переключатель.
Voxel Engineвыкл.Более новый движок: пещеры, текстуры, настоящие формы блоков.
Render with shadersвкл.Отрисовывать дальний ландшафт через ваш шейдерпак.
LOD distance256 чанковКак далеко достаёт дальний ландшафт (16–4096).
Distant vegetation33%Сколько дальней травы и цветов рисовать. Обычно самый большой прирост производительности.
Per-cell LOD texturesвкл.Текстуры блоков в натуральную величину под шейдерами; стоит геометрии.
Textured LOD under shadersвыкл.Принудительно использовать путь с текстурами даже на паках, поддерживающих Distant Horizons.
LOD memory budget256 МБСколько памяти движок Voxel может держать ландшафт перед записью обратно на диск.
Auto-clean / purgeвыкл.Управление дисковым кэшем.

Плюс настройки кольца детализации, скорости загрузки, рабочих потоков и интервала сохранения для тонкой подстройки.

Каждая опция также записывается в config/neoculus-horizon.properties.

Если дальний ландшафт обходится вам слишком дорого: сначала уменьшите Distant vegetation — растения это множество мелких прозрачных квадов, которые стоят на пиксель куда больше, чем сплошная земля. Затем уменьшите LOD distance, а потом отключите Per-cell LOD textures.


Исправления совместимости

Это исправления того, что было сломано раньше, а не новые функции.

Моды, написанные под API Sodium

Очень многие моды для рендеринга написаны под публичный API Sodium. На сборке NeoForge, где вместо него работает Embeddium, таких классов не существует, и такой мод умирает при загрузке с NoClassDefFoundError ещё до того, как вы дойдёте до главного меню.

Этот форк поставляет заглушку для того API — хелперы цвета и нормалей, матричные и низкоуровневые операции с памятью, утилиты для спрайтов, а также распространённые форматы вершин и атрибуты — чтобы эти моды загружались и работали. Они рендерятся через обычный путь, а не через быстрый путь Sodium, и на этом стеке это правильный результат: быстрый путь вежливо сообщает «недоступно», а благоразумный мод откатывается на свой собственный.

Две честные оговорки. Мод, который требует быстрый путь вместо того, чтобы запрашивать его, всё равно откажется работать — API спроектирован с двумя точками входа: «попробовать» и «обязательно иметь», и только первая может корректно деградировать. И только Flerovium был проверен от начала до конца; другие моды на Sodium-API, скорее всего, работают, но не тестировались. Если какой-то не работает, сообщение в Discord или в баг-трекере будет действительно полезным.

LittleTiles

LittleTiles корректно рендерится под Embeddium, включая полупрозрачные тайлы — стеклянные конструкции отображаются как надо, а не исчезают и не рендерятся непрозрачными — и грани правильно пересчитываются при редактировании конструкции, так что тайлы не оставляют дыр или устаревших поверхностей после изменения.

Платформы и драйверы

  • macOS — встроенный AcceleratedRendering раньше крашил игру нативно при загрузке мира на железе без поддержки OpenGL compute, а это включает каждый Mac. Теперь это определяется и прозрачно отключается с откатом на ванильный рендеринг.
  • Sinytra Connector — больше не крашится во время Initializing game, когда Connector установлен.
  • Более строгие драйверы OpenGL — игра больше не отказывается запускаться на драйверах, сообщающих о контексте GL 3.2 core, но предоставляющих 4.x через расширения.
  • Мерцание сущностей — сущности, блочные сущности, предмет в руке и рука больше не мигают при движении.

AcceleratedRendering также обновлён с 1.0.0 до 1.0.8.


Требования

  • Minecraft 1.21.1
  • NeoForge 21.1.0 или новее
  • Embeddium — обязателен

Не совместим с OptiFine. Не устанавливайте вместе с Oculus, Iris или NeOculus — этот мод их заменяет.


Известные ограничения

  • Никаких цифр по производительности не заявлено. Horizon рисует больше мира, поэтому это стоит дороже, чем не рисовать его. Оправдано ли это, зависит от вашего железа, и настройки выше существуют, чтобы вы могли решить сами.
  • Пять из шестнадцати протестированных шейдерпаков не загружаются по причине, не связанной с дальним ландшафтом (см. выше).
  • Дальний ландшафт сейчас рисуется двусторонним; односторонний рендеринг запланирован и сделает его дешевле.
  • Подземный ландшафт, который вы не видите, всё ещё рисуется. Его отсечение запланировано.
  • Движок Classic не может показывать пещеры или нависания — для этого нужен движок Voxel.

Поддержка и баг-репорты

Сообщать о проблеме с рендерингом гораздо полезнее, указав название и версию шейдерпака, ваш latest.log и сохраняется ли проблема при выключенном Horizon LOD — уже одно это отделяет баг Horizon от бага шейдерного стека.


Благодарности и лицензия

Этот мод стоит на работе других людей:

  • Iris — шейдерный конвейер, на котором всё здесь построено, от coderbot, IMS и участников
  • Oculus — порт для Forge
  • NeOculus — форк для NeoForge, на котором основан этот
  • Embeddium — обязательный движок рендеринга
  • AcceleratedRendering — встроен
  • Swaying Garden — встроен

Horizon вдохновлён Distant Horizons и Voxy, но не использует их код.

Лицензирован под LGPL-3.0, унаследованной от Iris.


  1. БЕЙДЖИ ВВЕРХУ СОДЕРЖАТ ЗАГЛУШКИ. Они отображаются как сломанные, пока проекты не существуют, так что заполните их в первую очередь:

    neopoculus -> настоящий слаг CurseForge, в обоих URL way2muchnoise neopoculus -> настоящий слаг или ID проекта Modrinth, в URL shields.io 0000000000000000 -> ID СЕРВЕРА Discord, а не код приглашения (Discord > Настройки сервера > Виджет > включить, затем скопировать ID сервера; бейдж не может читать количество участников из ссылки-приглашения) banner.png -> настоящий баннер, или удалите блок

    Где должен находиться каждый ряд бейджей: GitHub README - все они, для этого бейджи и нужны Modrinth - внешние изображения ограничены одобренными хостами; shields.io обычно работает, way2muchnoise может не работать. Проверьте предпросмотр и уберите всё, что отображается как сломанный квадрат. CurseForge - он уже показывает своё количество загрузок и версии игры над описанием, так что первые два бейджа там избыточны. Оставить только Discord и лицензию читается лучше.

  2. КНОПКИ-ССЫЛКИ В БОКОВОЙ ПАНЕЛИ НЕ БЕРУТСЯ ИЗ ЭТОГО ФАЙЛА. Оба сайта строят эти блоки из полей в настройках проекта, а не из текста описания. Ссылки выше — для людей, читающих страницу; кнопки нужно вводить отдельно, иначе они просто не появятся.

    Modrinth — Настройки > Ссылки: Исходный код https://github.com/Frenk012/NeOPoculus Трекер задач https://github.com/Frenk012/NeOPoculus/issues Discord https://discord.gg/6WADV66Frv (Настройки > Ссылки > Приглашение в Discord)

    CurseForge — Проект > Настройки > Общие, раздел "Ссылки": Исходный код https://github.com/Frenk012/NeOPoculus Проблемы https://github.com/Frenk012/NeOPoculus/issues Discord https://discord.gg/6WADV66Frv CurseForge показывает кнопку "Проблемы" только когда поле заполнено И в репозитории включены issues, так что сначала проверьте это на GitHub.

  3. СДЕЛАЙТЕ РЕПОЗИТОРИЙ ПУБЛИЧНЫМ И ВКЛЮЧИТЕ ISSUES. Ссылка на трекер задач к приватному репозиторию или репозиторию с отключёнными issues хуже, чем отсутствие ссылки.

  4. СКРИНШОТЫ. Самая сильная пара — одна и та же точка обзора с выключенным и включённым Horizon. Крупный план на уровне земли, показывающий стык с загруженными чанками, — второй по убедительности, потому что этот шов — то, что люди ожидают увидеть испорченным в моде на дальний ландшафт. Обе платформы отображают Markdown-изображения: подпись По возможности размещайте их в собственной галерее проекта — внешние хостинги изображений ограничены на обоих сайтах, и заблокированное изображение оставит пустой квадрат.

  5. ПРОВЕРЬТЕ ФАКТЫ ПЕРЕД РЕЛИЗОМ. Версию, диапазоны Minecraft и NeoForge — по gradle.properties; списки шейдерпаков — по свежему прогону ./gradlew runShaderTest. Списки паков — та часть, что скорее всего устареет, и та часть, которую читатели будут проверять.

  6. ФОРМАТ. Modrinth принимает этот файл как есть во вкладке "Описание". CurseForge принимает Markdown, но вырезает HTML-комментарии вроде этого — вставляйте всё выше горизонтальной линии, а не этот блок. -->

Частые вопросы

Как установить NeoPoculus?

Установите NeoForge под свою версию Minecraft, скачайте NeoPoculus под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.

Для каких версий Minecraft есть NeoPoculus?

У NeoPoculus есть сборки для Minecraft 1.21.1.

Нужен ли NeoPoculus на сервере?

Нужен в игре; на сервере — по желанию

Лицензия и источник
GNU Lesser General Public License v3.0 onlyможно использовать и распространять; изменённые версии — под той же лицензией и с исходным кодом
Оригинал — Modrinth↗Файлы — без изменений, проверены по SHA-512Это ваш мод? Правообладателям

Сайт использует cookie: необходимые — для входа и темы, а также счётчики посещений Яндекс Метрика и LiveInternet — по ним мы видим, как пользуются сайтом. Рекламных cookie у нас нет. Подробнее