Как пропустить небо в осветительных шейдерах?
Недавно я реализовал небо в своей отложенной игре. Это процедурно рассчитанная сфера с текстурой, применяемой к ней. К сожалению, все осветительные шейдеры (источники света, окружающая окклюзия) применяются к этой геометрии купола неба.
Поэтому небо полностью темное без огромного источника света на уровне. И если он есть, края между треугольниками этой сферы затемняются при помощи шейдера окружающего окклюзии.
Мое быстрое и грязное исправление заключалось в том, чтобы прочитать текстуру глубины, чтобы определить, следует ли применять эффект освещения или нет. Например, расстояние просмотра 1000.0f и каждый пиксель с глубиной выше 900.0f больше не затеняется. Это работает частично, поскольку каждый пиксель неба находится между 900.0f и 1000.0f
Но есть некоторые проблемы с этим подходом. Например, геометрия уровня дальше, чем 900.0f тоже не затенена. Кроме того, значения глубины происходят от проецирования сцены на плоскость, на экран. Это означает, что расстояние до неба, которое одинаково во всех направлениях от мирового положения игроков, отличается от изображения. Небо, видимое по бокам экрана, ближе, чем пиксели неба, которые видны в центре экрана. Этот эффект зависит от настройки поля. Проблема в том, что для каждой установки поля зрения мне понадобятся разные пороговые значения глубины для затенения.
Есть ли общий способ не или, по-другому, затенять некоторые пиксели изображения? В моем случае мне не нужно будет затенять пиксели неба. Если бы я мог определить, какой пиксель находится с неба, я мог бы сохранить это в буфере и прочитать из него в шейдерах освещения, чтобы пропустить эти пиксели. Но я не знаю, как подойти к этому.
Как пропустить небо в осветительных шейдерах?
Недавно я реализовал небо в своей отложенной игре. Это процедурно рассчитанная сфера с текстурой, применяемой к ней. К сожалению, все осветительные шейдеры (источники света, окружающая окклюзия) применяются к этой геометрии купола неба.
Поэтому небо полностью темное без огромного источника света на уровне. И если он есть, края между треугольниками этой сферы затемняются при помощи шейдера окружающего окклюзии.
Мое быстрое и грязное исправление заключалось в том, чтобы прочитать текстуру глубины, чтобы определить, следует ли применять эффект освещения или нет. Например, расстояние просмотра 1000.0f и каждый пиксель с глубиной выше 900.0f больше не затеняется. Это работает частично, поскольку каждый пиксель неба находится между 900.0f и 1000.0f
Но есть некоторые проблемы с этим подходом. Например, геометрия уровня дальше, чем 900.0f тоже не затенена. Кроме того, значения глубины происходят от проецирования сцены на плоскость, на экран. Это означает, что расстояние до неба, которое одинаково во всех направлениях от мирового положения игроков, отличается от изображения. Небо, видимое по бокам экрана, ближе, чем пиксели неба, которые видны в центре экрана. Этот эффект зависит от настройки поля. Проблема в том, что для каждой установки поля зрения мне понадобятся разные пороговые значения глубины для затенения.
Есть ли общий способ не или, по-другому, затенять некоторые пиксели изображения? В моем случае мне не нужно будет затенять пиксели неба. Если бы я мог определить, какой пиксель находится с неба, я мог бы сохранить это в буфере и прочитать из него в шейдерах освещения, чтобы пропустить эти пиксели. Но я не знаю, как подойти к этому.
Шейдеры и текстуры Майнкрафт 1.16.5: вода, небо и освещение
Прокачиваем Майнкрафт версии 1.16.5.
Minecraft прокачивают и улучшают все, кому не лень. За долгие годы сообщество игроков придумало множество способов кастомизации и улучшения любимого Майнкрафта: от модов до сидов с готовыми мирами.
Шейдеры и текстуры Майнкрафт 1.16.5
Сейчас одной из самых популярных версий игры является Майнкрафт 1.16.5, поэтому давайте рассмотрим еще один крутой способ прокачать его: использование шейдеров и текстур. Шейдеры заменяют стандартные текстуры игры на более качественные версии. Если мощность вашего ПК позволяет насладиться качественными шейдерами воды, неба или погоды, то почему бы их и не скачать, правильно?
Для работы шейдеров, перечисленных ниже, требуются сторонние программы. Если шейдер очень старый, то нужна программа Shaders mod, но в большинстве случаев нужна Optifine.
Лучший шейдер воды, погоды и текстур – projectLUMA
Настоящий мастхев для игроков в Майнкрафт 1.16.5. Этот шейдер покрывает большую часть хотелок владельцев слабых и среднепроизводительных компьютеров. projectLUMA улучшает текстуры воды, облаков и окружающего мира.
Только посмотрите на эти блики на воде, топовые текстуры и работу шейдера освещения:
У шейдера есть три варианта «заводских» настроек: Low, Medium, Ultra. Слишком заметной разницы в картинке между ними, но на слабых компьютерах установка этого шейдера в Low может сохранить десяток-другой ФПС, не потеряв в качественных текстурах.
Как установить шейдер
Лучший шейдер для слабых компьютеров – SFLP Shaders
Этот шейдер создавался специально для слабых ПК. Разработчик хорошо поработал над производительностью, но не забыл и про визуальное качество картинки, и в итоге получился грамотно сбалансированный продукт для всех любителей Майнкрафт 1.16.5.
У шейдера есть три настройки: Light, Low и Standart. Лайтовую версию стоит включать на очень слабых ноутбуках или компьютерах, и все равно наслаждаться шейдерами воды (но куча других фишек будет отключена для лучшей производительности).
На Low картинка становится более полной, появляются тени (пускай и не супер топового качества), а Standart – максимально проработанная версия, которая на слабых ПК будет подъедать фпс, зато качество будет максимально возможным для этого шейдера.
Вот сравнение трех версий, от Light до Standart:
Скачать шейдер для слабых компьютеров:
Реалистичный шейдер – BSL Shaders
Настоящая находка для любителей реализма (и обладателей сильного ПК). Этот шейдер для Майнкрафт 1.16.5 дает реалистичное освещение с хорошо проработанными лучами и тенями. Также есть настройки для небольшого размытия картинки, так называемый блюр.
В настройках шейдера есть версии Low, Medium и High, но даже на Low-настройках комфортно играть на слабых ПК вряд ли получится.
Полюбоваться на уровень реализма шейдера можно на этих скриншотах с разным временем суток:
Скачать реалистичный шейдер: https://ru-minecraft.ru/engine/download.php?id=86977
А какие шейдеры и текстуры для Майнкрафт 1.16.5 используете вы? Делитесь в комментариях!










