Pathetic M [killbot]
> Это ж сколько им перебирать пришлось? 0_о
256*256*256, короче, 16 миллионов вариантов, перебрать и жёстко вшить таблицу в игру, не вижу ничего особенного, это меньше минуты работы программы.
=A=L=X=
> Чёто бред какой то.
Ага, вот именно! Если фильтровать каждый кадр - то дорого. Если хранить подробные карты для каждой поверхности - памяти не напасёшься.
Моё предположение, что поверхности хранят лишь значения в углах, и тогда фильтрация получается довольно простая.
Pathetic M [killbot]
Не оно? (с дума)
TarasB
> Ага, вот именно! Если фильтровать каждый кадр - то дорого. Если хранить
> подробные карты для каждой поверхности - памяти не напасёшься.
> Моё предположение, что поверхности хранят лишь значения в углах, и тогда
> фильтрация получается довольно простая.
Нет, точно не в углах. Там есть скриншоты с полигонами по отдельности - прекрасно видно что полигоны - очень большие по размерам, на них невозможно было бы интерполяцией по углам добится итоговой картинки.
entryway
> Не оно?
Вроде оно.
В принципе да, можно автоматом сгенерить для палитры в 256 цветов все возможные комбинации наложений..
Чет я ступил ))
Pathetic M [killbot]
> Вроде оно
Гимпом открыл файл который оно генерирует:
entryway
Ну да, да. Я ж говорю, ступил :)
Видимо подсознательно захотелось повосхищаться ))
entryway
А в Думе-то где полупрозрачные места? Только монстры в виде тени, больше не помню.
TarasB
> А в Думе-то где полупрозрачные места? Только монстры в виде тени, больше не помню.
Это с Boom уже.
http://doom.wikia.com/wiki/Boom
На нем основаны (или полностью поддерживают) все порты кроме думсдея.
TarasB
> А в Думе-то где полупрозрачные места?
В херетике и Хексене было применено это дело.
Ну а потом в портах конечно.
entryway
> Это с Boom уже.
Но написано было в статье именно про Doom. Хм, а действительно... Зачем там полноцветный блендинг сдался непонятно. Монстры в виде тени - той же табличкой градаций яркости могли быть отработаны...
Гы, про дум вычитал:
Особая структура уровня (так называемое двоичное разбиение пространства) требовала сборки перед испытанием уровня. Сборка происходит автоматически, на компьютерах того времени менее чем за минуту — тем не менее, это мешало просматривать уровень в реальном времени прямо по ходу редактирования (в отличие от Build Engine). К тому же двоичное разбиение делило стены на «отрезки» (англ. segs) — это усложняло геометрию уровня. Duke Nukem 3D версии 1.3 успешно работал на компьютерах класса Pentium-100 на разрешении 640×480 — ни один порт Doom не способен на такое.
Так это что же, Кармак и с думом лажанул что ли? =)
=A=L=X=
Это получается, что простой как валенок портально-секторный Дюк (и Мэдспейс, наверное) эффективнее, чем вся эта матанная хренатень с BSP, PVS и прочими умными словами. Жаль, что Мэдспейс в 92 не мышел, до дума, порвали бы жопу Кармаку.
TarasB
> > Зачем? Дешевле тайлить.
> В смысле, не понял.
TarasB
> проверять каждый пиксель надо, чтобы коэффициенты не вышли за (0,1).
Когда они выйдут за эти пределы? Только на краях текстуры, но если она тайлится (при выборке используется дробная часть текстурных координат), то проблем нет.
Mikle
> Когда они выйдут за эти пределы?
Да, я понял, если каждый кадр тупо брать целую и дробную часть, то проблем нет, да, только вот вопрос, не жирновата ли вся эта радость, остаётся.
Duke3d вышел практически вместе с quake и технологически между ними была пропасть.
Построитель нод у ID был медленный, да. Современные нодебилдеры работают на 2-3, если не 4 порядка быстрее. Гигантские уровни под завязку для думовского формата уровня (увеличенного в два раза в портах за счет перехода к ансигнед шорту) билдятся за доли секунды в zdbsp. В старом ZenNode на это уйдут часы. Тот же zdoom не использует ноды вшитые в wad, а строит на ходу свои.
Тема в архиве.