1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Свет и тьма в Quake

Автор: id0 · 9 апр 2025 · ·
Сорян за кликбейтный заголовок, люблю пафсоные фразы :) На самом деле это просто сравнение того, как работает освещение в Quake 1 и его форках.
  1. Этот пост даже скорее для меня, чтобы понять, а чего я вообще хочу? Но, думаю, и кому-то ещё будет полезно, потому что мне море информации пришлось перелопатить, прежде чем я со всем этим разобрался.

    Итак освещение. Работает оно очень просто - в текстуры просчитывается карта теней (так называемые Лайтмапы (Lightmaps)), и накладывается на геометрию уровня. В реальности все форки, кроме одного (догадайтесь какого?) вообще ничего не меняют в освещении оригинала, единственное, прикрутили цветные лайтмапы (в оригинале они были чёрно-белые). Но не всё так просто. Нужно же ещё освещать динамические объекты (врагов, аптечки...). Вот тут и начинается самое интересное.

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

    1.jpg

    И точно так-же это выглядело в оригинале. Довольно мило выглядит. Но есть один порт (вы уже догадались какой?), который всё делает по своему, и можно даже и не узнать обо всех его возможностях, если не копать глубже.

    Так что, вот как выглядит статическое (статическое, повторяю, там есть ещё и динамическое) освещение в Darkplaces:

    2.jpg

    Чёт как-то не фонтан, да? Моделька плоская, некрасивая... Она тоже берёт освещение от ближайшего лайтмапа, но освещается полностью одним оттенком, ближе к темноте - темнее, и наоборот. Выглядит неказисто. Ну и неудивительно, подумал я, всё таки освещение динамическое (с тенями, шейдерами всякими) у Darkplaces в приоритете.

    Однако, оказалось, что так работает освещение только в формате карт Quake 1. Но Darkplaces, как я уже писал, работает и с форматом карт Quake 3. А они поддерживают такую штуку как Deluxmapping. Это статическое освещение, котрое учитывает направление света. И оно полностью меняет всю картину.

    Deluxmapping

    3.jpg

    4.jpg

    Можно так всю сцену осветить, хоть тыщу лампочек поставь - никаких тормозов не будет. Если бы на стенах были нормаль мапы, они бы тоже учитывались. Более того - Darkplaces может форсить deluxmapping с режимом deluxmapping 2 даже в формате карт первого Quake, даже если их там нет(к сожалению только для статики, для динамических объектов всё равно придётся пересчитывать карту в формате Quake 3).

    И казалось бы всё хорошо? Освещение, ура!-а-а... Но мне, почему-то совсем не нравится. Всё становится каким-то плассмассовым:

    last.jpg

    Согласитесь, картинка слева выглядит технологичнее. Но симпатичнее-ли? Ну, наверное, кому как.

    Вот и думаю, вернуться что-ли к ламповому (г-гы, ламповому) оригинальному освещению, и чёрт с ним со всем этим сглаживанием и динамическим светом? Видно правду написал человек в отзывах к прошлому посту, только в Кармаковских лайтмапах есть душа :) (Он правда сам её потом продал в DOOM3 шейдерным демонам, но не будем о грустном).

    Всем пикселей, полкило!
    Vlad_99, Rik234v500, Kseraks и 4 другим нравится это.

Комментарии

  1. compart
    :) Где то я этого чувачка с пятном (или имплантом?) на голове видел...
    Давным давно, в одной игре, которая так и не вышла?
    Или это были какие то чужие имплантированные воспоминания... :)
      id0 нравится это.
    1. id0
  2. GoldSrcFreeman
    Скажу больше: там движок строит из ориджина модельки вектор прямо вниз и смотрит какой под ним пиксель лайтмапы, и в соответствии с этим регулирует яркость модели. НО лайтмапы движок ищет только на мировой геометрии, брашевые энтити вроде платформ или func_wall'ов игнорируются (по крайней мере в оригинале).
      Лорд Лотар, ZaRR и id0 нравится это.
  3. rusty_dragon
    Из того что вижу, слева два проблемы:
    1) лесенки от сглаживания и мусор от детализации. Конечно же для человеческого восприятия правая картинка будет приятней. Потому левая картинка грязная и этот шум мозг будет пытаться либо обработать во что-то удобоваримое либо отсеять как шум.

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

    2) бюджет детализации шум и артефакты возникают либо от нехватки либо от избытка детализации и плохой обработки финальной картинки. Теоретически подстройкой и изменением алгоритмов динамической генерации можно довести внешний вид до красивого. Если тут используются шейдеры поработать над тем как шайдеры на модельке обрабатывают получаемую информацию.

    З.Ы. Я конечно же никогда не копался в движке, потому моё мнение из разряда сугубо субъективного восприятия: что вижу - о том и пою.
      id0 нравится это.
    1. Просмотреть предыдущие ответы...
    2. rusty_dragon
      Примерно также было со стерео 3д. развязанная Нвидией война стандартов погубила формат. Хотя для игр из-за интерактивности стереоскопическая графика и правда была крутой. Особенно в ВР это видно. Если у тебя современная видеокарта можно запустить Rise of Tomb Raider в стерео-3д на виртуальном кино-экране. Вот это самая красивая стерео-3Д игра, ну и полноценная сингловая игра в ВР с детализацией и спец-эффектами как на плоском экране. Жаль что большинство никогда не увидит эту игру в таком виде.
    3. rusty_dragon
      >Жду каких нибудь голопалуб, ну или чтобы шлемы нормальные сделали. Но вообще всё идёт к тому что всё это забросят.

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

      С другой стороны всё это такие мелочи и на погремушках жизнь клином не сошлась.
    4. id0
      Если у тебя современная видеокарта можно запустить Rise of Tomb Raider в стерео-3д на виртуальном кино-экране.

      Это как вообще работает? Я бы запустил.
Чтобы оставить комментарий просто зарегистрируйтесь и станьте участником!
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление