HiRes
Hi-Res — клиентский мод для Fabric на Minecraft 26.2, который позволяет игрокам делать и сохранять скриншоты в высоком разрешении. Динамически масштабируя буфер кадра рендеринга во время захвата, Hi-Res позволяет делать чёткие снимки!
- Загрузчики
- Fabric
- Скачиваний на Modrinth
- 595
- Подписчиков на Modrinth
- 4
- версия
- 1
- Обновлён
- 29 июня 202629 июн.
- Опубликован
- в 2026
Коротко о моде
Ставится только в игру; на сервер ставить не нужно
Hi-Res Minecraft Mod
Краткое описание
Hi-Res — клиентский мод для Fabric на Minecraft 26.2, который позволяет игрокам делать и сохранять скриншоты в высоком разрешении. Динамически масштабируя фреймбуфер рендеринга во время кадра захвата, Hi-Res позволяет получать чёткие изображения печатного качества с разрешением до 8x от нативного разрешения дисплея (например, генерируя изображения 8K или 16K из стандартного вьюпорта 1080p). Полностью интегрированный в боковую панель Reese's Sodium Options, Hi-Res умеет автоматически скрывать HUD и руку, обрабатывать скриншоты асинхронно, чтобы поток рендеринга оставался отзывчивым, а также настраиваемые игровые toast-уведомления и сообщения в чате. Система Auto-Tune против вылетов проверяет каждый захват и автоматически подбирает разрешение под безопасный бюджет времени GPU, чтобы тяжёлые шейдеры при высоких множителях не сработали на сторожевой таймер драйвера. Также предлагает мощный режим астрофотографии Star Trails с учитывающим разрешение плавным вращением неба, прогрессивным накоплением, интерактивными HUD прогресса и безопасной отменой рендеринга.
[!WARNING] Экспериментальные функции: Такие функции, как режим Star Trails, HDR Exposure Bracketing и экспорт карты Z-Depth, являются экспериментальными. Поскольку они напрямую взаимодействуют с конвейером рендеринга уровня Minecraft, пробами атрибутов окружения и активными графическими/шейдерными движками (такими как Iris и Sodium), они могут работать не идеально или выглядеть не так, как задумано, при любой конфигурации графики или комбинации шейдерпаков.
Подробное описание
Динамическое масштабирование фреймбуфера
В отличие от стандартных скриншотов, которые просто захватывают пиксельный буфер активного окна, Hi-Res перехватывает конвейер рендеринга:
- Свой множитель масштаба: Динамически изменяет размер внутренних фреймбуферов игры с коэффициентом от
2xдо8xдля кадра захвата. Вывод в сверхвысоком разрешении:
- Монитор
1080pпри множителе4x-> 7680 x 4320 (8K). - Монитор
1440pпри множителе4x-> 10240 x 5760 (10K). - Монитор
4Kпри множителе4x-> 15360 x 8640 (16K).
- Монитор
Управление захватом
Чтобы скриншоты выглядели чисто и профессионально, Hi-Res автоматизирует подготовку кадра:
- Скрытие HUD и руки: Автоматически скрывает heads-up display Minecraft (включая хотбар, прицел, чат и активные эффекты) и руку игрока во время тика захвата. Как только скриншот записан, ваш HUD и рука мгновенно возвращаются к исходной видимости.
Асинхронный конвейер сохранения
Создание огромных скриншотов при масштабе 4x или 8x включает обработку миллионов пикселей. Чтобы игра не зависала, не тормозила и не вылетала:
- Фоновый поток выполнения: Кадр считывается обратно в Pixel Buffer Object в потоке рендеринга, затем тяжёлая работа — обработка пикселей и кодирование PNG (через
STBImageWriteиз LWJGL) — перекладывается на выделенный фоновый поток-исполнитель. Игра возвращается к рендерингу в нативном разрешении, пока файл записывается в фоне.
Уведомления
Выберите, как вы хотите получать уведомления об успешном сохранении:
- Toast-уведомления: Отрисовывает стильное игровое toast-уведомление в правом верхнем углу экрана с надписью "Screenshot Saved" и именем файла.
- Сообщения в чате: Выводит системное сообщение прямо в окно чата с точным именем сохранённого скриншота.
Режимы астрофотографии
Hi-Res реализует продуманный конвейер захвата и смешивания Star Trails:
- Наложение кадров: Накапливает последовательность кадров в памяти, постепенно вращая небесные тела (солнце, луну, звёзды) и смешивая их с помощью поканального фильтра "Lighten" (максимум).
- Блокировка камеры и клавиатуры: Блокирует направление взгляда камеры и движение игрока во время захвата, чтобы пейзажи были идеально резкими.
- HUD прогресса и ETA: Показывает центрированный игровой HUD прогресса. Он отслеживает кадры (
X / Y frames) и вычисляет скользящую ETA (оставшееся время) с помощью экспоненциального скользящего среднего (EMA) времени рендеринга кадров. - Escape для отмены: Позволяет нажать ESC во время захвата, чтобы безопасно отменить рендеринг. Отмена мгновенно освобождает ресурсы памяти, восстанавливает нативное разрешение и безопасно возвращает управление игроку без вылетов и зависаний.
Режимы захвата астрофотографии:
- Совместимость с шейдерами и ванилью: Бесшовно работает как с ванильным (без шейдеров) рендерингом скайбокса, так и с шейдерпаками (например, Iris). Поскольку мод подключается напрямую к пробе атрибутов окружения Minecraft, вращение небесных тел корректно применяется и к ванильному конвейеру рендеринга, и к кастомным юниформам шейдеров.
[!TIP] Дисклеймер: Хотя режим Star Trails полностью работоспособен в ванильной среде (без шейдеров), настоятельно рекомендуется использовать шейдеры. Ванильный Minecraft рендерит звёзды как маленькие резкие квадратные пиксели, которые при трейлинге могут выглядеть блочно или разрозненно, тогда как шейдеры рендерят звёзды со сглаженными светящимися точками, ореолами и эффектами мерцания, которые сливаются в плавные, профессиональные, органичные трейлы.
- Стандартные Star Trails: Вращение неба за кадр вычисляется из вашего разрешения захвата и FOV (предел Найквиста), так что свечение звезды перекрывается от кадра к кадру, и трейлы выглядят плавными, а не бусинообразными. Затем ползунок количества кадров задаёт длину трейла (дуга = кадры × шаг).
- Захват до утра: Симулирует естественную прогрессию от заката до рассвета (с 13000 до 23000 тиков). Автоматически вычисляет оптимальное количество кадров с помощью предела Найквиста, чтобы обеспечить непрерывные трейлы без разрывов при любой комбинации FOV и разрешения, с ограничением максимум в
12,000кадров.
HDR-брекетинг
Для съёмки сцен с экстремальным контрастом Hi-Res автоматизирует брекетинг-съёмку:
- Серия экспозиций: Последовательно захватывает три отдельных кадра (EV-1, EV0, EV+1). Изменение экспозиции выполняется через настройку гаммы в параметрах клиента.
- Радиометрическая калибровка: Масштабирует входящие цвета пикселей на основе их относительных коэффициентов экспозиции (2.0x для EV-1, 1.0x для EV0, 0.5x для EV+1), чтобы восстановить истинные значения яркости в линейном пространстве.
- Тональная компрессия ACES Filmic: Смешивает откалиброванные значения пикселей и отображает их обратно в стандартный диапазон с помощью оператора ACES Filmic, сохраняя светлые участки и детализированные тени.
- Синхронизация состояния мира: Время суток, смещение облаков, сущности и частицы замораживаются в начале съёмки, чтобы избежать двойной экспозиции и ореолов от смещения.
Экспорт Z-карты глубины
- Синхронизированный захват: Создаёт синхронизированную карту глубины (
depth_[timestamp].png) вместе с цветным кадром. - Математически строгая линеаризация: Проверяет значение clear depth проекции камеры, чтобы автоматически различать и поддерживать как Forward-Z, так и Reversed-Z буферы глубины. Линеаризует сырые нелинейные значения глубины, отображая ближнюю плоскость в белый (255), а дальний горизонт — в чёрный (0).
- Динамическое сканирование FBO: Во время рендеринга проверяет фреймбуферы через запросы привязок LWJGL GL, чтобы найти правильный активный FBO мира с совпадающими размерами, отфильтровывая промежуточные цели постобработки.
Производительность и параллелизм
Hi-Res создан, чтобы минимизировать нагрузку на поток рендеринга, хотя полностью её избежать не удаётся — каждый захваченный кадр всё ещё ждёт GPU-фенс предыдущего кадра и копирует полный кадр из mapped-памяти в потоке рендеринга. Дорогостоящая работа (обработка пикселей, смешивание, кодирование PNG) выполняется вне потока.
- Постоянный когерентный двойной PBO-конвейер: Управляет кольцевым буфером из двух постоянно замапленных Pixel Buffer Objects (PBO) через
glBufferStorageиglMapBufferRange, считывая кадры обратно черезglReadPixels. GPU-фенс синхронизации (glFenceSync/glClientWaitSync) гарантирует, что CPU читает mapped-память только после завершения работы GPU. Двойная буферизация позволяет GPU считывать кадр N, пока обрабатывается кадр N-1; ожидание фенса и копирование для каждого кадра всё ещё происходят в потоке рендеринга. - Прямое смешивание в нативной памяти: В режиме Star Trails движок смешивания использует LWJGL
org.lwjgl.system.MemoryUtilдля чтения/записи нативных пиксельных буферов по сырым адресам (memGetByte/memPutByte/memCopy) внутри системы параллельных воркеров с разбивкой по потокам, избегая проверок границ JVM на каждый пиксель — существенно быстрее наивного цикла поIntBuffer. Таблица поиска 8-бит sRGB↔linear заменяетMath.pow()на каждый пиксель в горячем пути. - Переиспользование буферов и безопасность вне кучи: Полнокадровые буферы для промежуточных и выходных данных переиспользуются через пул, чтобы избежать нативного malloc/free каждый кадр, а все буферы вне кучи освобождаются в сериализованном фоновом исполнителе, чтобы избежать крашей
EXCEPTION_ACCESS_VIOLATIONтипа use-after-free в потоке рендеринга. - Масштабирование разрешения с привязкой к контексту: Переопределения
getWidth/getHeightвWindowMixinограничены условиемRenderContextTracker.shouldScale(), которое истинно только пока активен контекст захвата и вызов происходит в главном потоке рендеринга — так масштабированные размеры остаются в пределах собственного цикла рендеринга захвата. - Захват конфига в клиентском потоке: Нужные значения конфига считываются в клиентском потоке до отправки фоновых задач, предотвращая несоответствие путей к файлам или режимов смешивания, если конфиг изменён во время захвата.
Авто-настройка
Рендеринг полной (часто с трассировкой пути) сцены с высоким множителем разрешения может привести к тому, что один кадр превысит таймаут GPU-сторожевого таймера операционной системы (TDR) и вызовет сброс драйвера. Авто-настройка (включена по умолчанию) предотвращает это:
- Проба разрешения: Измеряет первые кадры захвата и, если кадр превышает настраиваемый бюджет времени на кадр, автоматически снижает разрешение захвата до подходящего, прежде чем сохранить хоть один кадр.
- Ограничение дальности прорисовки: Опционально снижает дальность прорисовки до 16 чанков во время захвата (восстанавливается afterward), чтобы уменьшить нагрузку на GPU на кадр.
- Безопасное прерывание: Если кадр всё ещё приближается к лимиту сторожевого таймера, захват аккуратно прерывается с сообщением в чате вместо краша драйвера.
- Умная стабилизация: Для Star Trails количество кадров стабилизации между шагами выбирается исходя из измеренной тяжести шейдеров. Это применяется к стандартному захвату, HDR и Star Trails.
Интеграция с Reese's Sodium Options
Hi-Res встраивается прямо в боковую панель настроек графики Sodium (требуется Reese's Sodium Options). Раздел Hi-Res состоит из трёх страниц:
Общие
Разрешение:
- Use Custom Resolution: Снимать в точном размере в пикселях вместо умножения размера окна.
- Resolution Multiplier: Множитель масштабирования (
2x–8x). - Custom Width / Height: Точные целевые размеры (от 100 до 16 384 px), когда включено пользовательское разрешение.
Съёмка:
- Shader Settle Frames: Сколько кадров отрисовать перед снимком (
0–60), чтобы тяжёлые шейдеры, TAA и денойзеры трассировки лучей успели стабилизироваться. - Hide HUD & Hand: Скрыть HUD и предмет в руке во время съёмки.
- Override Capture FOV + Capture FOV (
30–110°): Использовать фиксированный угол обзора для снимка. - Freeze Entities & Particles: Заморозить мобов и частицы во время съёмки, чтобы избежать смазывания движения.
- Restore World Time: Восстановить игровое время после съёмки с привязкой ко времени или режима Star Trails.
- Shader Settle Frames: Сколько кадров отрисовать перед снимком (
Вывод:
- Save in Hi-Res Subfolder: Сохранять в
screenshots/Hi-Res/. - Filename Prefix: Начальное слово имени файла (
hires,screenshot,captureилиrender). - Configure Capture Key: Открыть управление для переназначения клавиши съёмки.
- Save in Hi-Res Subfolder: Сохранять в
- Уведомления: Show Toast Notification, Show Chat Message, Play Completion Sound.
Производительность и безопасность
Auto-Tune (Anti-Crash):
- Auto-Tune Capture: Главный переключатель защиты от крашей (по умолчанию включён) — проверяет и понижает разрешение под бюджет времени GPU; применяется ко всем режимам съёмки.
- Frame Time Budget: Целевое время на кадр (
500–1900мс); чем ниже, тем безопаснее и тем ниже разрешение. - Auto-Lower Render Distance: Временно ограничить дальность прорисовки до 16 чанков во время съёмки.
Advanced Passes:
- Export Z-Depth Map: Сохранять линеаризованную 8-битную чёрно-белую карту глубины рядом со снимком.
- HDR Exposure Bracketing: Снять и объединить EV-1 / EV0 / EV+1 в одно tone-mapped изображение (несовместимо со Star Trails).
Астрофотография
- Star Trails Mode: Снять и сложить вращающееся небо в звёздные треки (поканальное смешивание по максимуму, «Lighten»).
- Capture Until Morning: Автоматически снимать всю ночь (от заката до рассвета).
- Trail Length (Frames): Количество складываемых кадров (
10–20 000); задаёт длину треков. - Interval Settle Frames: Дополнительные кадры стабилизации между шагами треков (
1–30); Auto-Tune задаёт это за вас, когда включён. - Enforce Clear Weather: Принудительно ясная погода во время съёмки.
Необходимые зависимости
Чтобы запустить мод Hi-Res, в клиенте Minecraft должны быть установлены следующие зависимости:
- Fabric Loader (>= 0.19.3): Базовая среда загрузки модов.
- Fabric API: Нужен для прослушивания событий клавиатуры (реестр привязок клавиш) и планирования клиентских тиков.
- Sodium: Нужен для высокопроизводительной интеграции рендеринга и поддержки структуры настроек.
- Reese's Sodium Options: Нужен для включения вкладки пользовательской настройки боковой панели в экране настроек графики Sodium.
Установка и настройка
- Поместите скомпилированный
hires-*.jarв папку.minecraft/mods. - Установите зависимости: Fabric Loader, Fabric API, Sodium и Reese's Sodium Options.
- Запустите Minecraft, откройте меню «Настройки», перейдите в Настройки графики и выберите категорию Hi-Res на боковой панели, чтобы настроить параметры.
- Нажмите F4 в игре (клавиша по умолчанию, полностью переназначается в управлении), чтобы сделать скриншот в высоком разрешении.
- Все скриншоты сохраняются в стандартную папку
.minecraft/screenshotsпод именем видаhires_YYYY-MM-DD_HH.mm.ss.png(илиstar_trail_YYYY-MM-DD_HH.mm.ss.pngдля звёздных треков). - Нажмите ESC во время серии съёмки звёздных треков, если хотите прервать рендер.
Технические характеристики
- Загрузчик модов: Fabric
- Версия Minecraft: 26.2
- Окружение: Только клиентская сторона
- Лицензия: MIT
Частые вопросы
Как установить HiRes?
Установите Fabric под свою версию Minecraft, скачайте HiRes под ту же версию и загрузчик, положите файл в папку mods и запустите игру с профилем загрузчика.
Для каких версий Minecraft есть HiRes?
У HiRes есть сборки для Minecraft 26.2.
Нужен ли HiRes на сервере?
Ставится только в игру; на сервер ставить не нужно