Флейм
GameDev.ru / Флейм / Форум / Quake (4 стр)

Quake (4 стр)

Поделиться
Страницы: 13 4 5 660 Следующая »
1 frag / 2 deathsУчастникwww9 дек. 201315:52#45
CD
интерполяция между вершинами?
как-т сомнительно
да и незаметно нифига

и хотя монстрыи и занимают лишь небольшую часть кадра, но в интерполяцию я не верю

SpartanМодераторwww9 дек. 201315:54#46
TarasB
> и хотя монстрыи и занимают лишь небольшую часть кадра, но в интерполяцию я не
> верю
А в чем сложность? Одно целочисленное сложение на пиксель.
1 frag / 2 deathsУчастникwww9 дек. 201316:00#47
Spartan
> А в чем сложность? Одно целочисленное сложение на пиксель.
А хотя да, в данном случае она дешёвая.
Правда, не ясно, нафига, не видно ж ваще, что часть монстра в тени, а часть на свету.
CDПостоялецwww9 дек. 201316:02#48
TarasB
> интерполяция между вершинами?
да, сначала вдоль ребер, потом между ребрами вдоль span-ов (хз как на русском, горизонтальная однопиксельная линия)

http://www.nondot.org/sabre/Mirrored/GraphicsProgrammingBlackBook/gpbb68.pdf

Gouraud shading involves generating a lighting value at each polygon vertex by applying all relevant world lighting, linearly interpolating
between lighting values down the edges of the polygon, and then linearly interpolating between the edges of the polygon across each span

для всего остального метод не подошел, т.к. выглядело коряво (нет перспективной коррекции, нужны мелкие полигоны)

in fact Quake uses Gouraud shading for moving entities, because these consist of small triangles and are always in motion, which helps hide the relatively small lighting errors. However, Gouraud shading didn’t seem capable of meeting our design goals for rendering quality and speed for drawing the world as a whole, so it was time to look for alternatives

Правка: 9 дек. 2013 16:08

=A=L=X=Постоялецwww9 дек. 201316:08#49
Гуро? Не было там по моему гуро. Просто один уровень освещения на всю модель монстра.
1 frag / 2 deathsУчастникwww9 дек. 201316:09#50
CD
> для всего остального метод не подошел, т.к. выглядело коряво (нет перспективной
> коррекции, нужны мелкие полигоны)

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

1 frag / 2 deathsУчастникwww9 дек. 201316:11#51
=A=L=X=
> Гуро? Не было там по моему гуро. Просто один уровень освещения на всю модель
> монстра.

Да вот я тоже, вроде бы, не видел монстра, наполовину сидящего в тени, наполовину на свету.
Надо сегодня бы перепроверить.

Ещё интересно, как сделаны вспышки от взрывов. Да, они хреново учитывают геометрию, но всё равно это так просто, вроде бы, не сделать.

CDПостоялецwww9 дек. 201316:26#52
TarasB
> Ещё интересно, как сделаны вспышки от взрывов
If dynamic lighting is needed, the light map is modified accordingly before the buffer, which I'll call a surface, is built
=A=L=X=Постоялецwww9 дек. 201316:26#53
TarasB
> Ещё интересно, как сделаны вспышки от взрывов. Да, они хреново учитывают
> геометрию, но всё равно это так просто, вроде бы, не сделать.

Динамический пересчет лайтмэпов. Кстати да - это сразу же вовлекало перестройку surface-ов.
Вообще в той статье интересно написано, с таким апломбом что мол Кармак всё таки хоть и выдавил всё возможное почти под ноль, но если бы он сделал проще и рендерил каждый кадр "по честному", то получилось бы ненамного тормознее, ибо у сурфейсов же тоже свои характерные накладные расходы. Но х/з, насколько это мнение верное.

1 frag / 2 deathsУчастникwww9 дек. 201316:29#54
=A=L=X=
> если бы он сделал проще и рендерил каждый кадр "по честному", то получилось бы
> ненамного тормознее, ибо у сурфейсов же тоже свои характерные накладные расходы

Хз, сурфейсы рендерятся достаточно редко.
А вот каждый кадр на каждый пиксел фильтровать - это невозможно даже близко с такой скоростью.
Ну по крайней мере, у меня нет идей, как это возможно.

CDПостоялецwww9 дек. 201316:56#55
=A=L=X=
> Гуро? Не было там по моему гуро
С-вариант рисования моделей:
https://github.com/id-Software/Quake/blob/master/WinQuake/d_polyse.c#L722
D_RasterizeAliasPolySmooth

Правка: 9 дек. 2013 16:56

SpartanМодераторwww9 дек. 201316:58#56
=A=L=X=
> Кармак всё таки хоть и выдавил всё возможное почти под ноль, но если бы он...

В тех же мемуарах Абраша, что Кармак при разработке ку1:

When I arrived at id at the beginning of March, John already had an engine prototyped and a plan in mind, and I assumed that our work was a simple matter of finishing and optimizing that engine.  If I had been aware of id’s history, however, I would have known better.  John had done not only DOOM, but also the engines for Wolf 3D and several earlier games, and had actually done several different versions of each engine in the course of development (once doing four engines in four weeks), for a total of perhaps 20 distinct engines over a four-year period.  John’s tireless pursuit of new and better designs for Quake’s engine, from every angle he could think of, would end only when we shipped.

innuendoПостоялецwww9 дек. 201317:07#57
Unreal рулит и педалит ...
Panzerschrek[CN]Участникwww9 дек. 201317:08#58
innuendo
Жду объяснений.
1 frag / 2 deathsУчастникwww9 дек. 201317:15#59
innuendo
> Unreal рулит и педалит ...
Согласен, но до него ещё не добрались.

Panzerschrek[CN]
> Жду объяснений.
Пфф, поиграй, поймёшь.
Идёт на моём компе, в 640х480 у кваки фпс 40, у Анрыла - хз, но играть можно, то есть отставание не более, чем в полтора раза.
32 бита.
Цветные светокарты.
Плавная смена светокарт.
Прозрачность.
Фильтрация текстур через дизеринг, и этот дизеринг я до сих пор не расколол - как его записать покомпактнее?
Коронки вокруг источников света.
Немного динамического освещения.

Играть, конечно же надо в софте.
А то некоторые блин врубают опенгл (ведь училка сказала что опенгл рулезззз) а потом удивляются, что картинка ничего особенного.

А вот отсечка предметов по стенам в Анриле таки хреновая (иногда артефактит), в Кваке лучше.

Правка: 9 дек. 2013 17:15

Страницы: 13 4 5 660 Следующая »

/ Форум / Флейм / Игры

2001—2017 © GameDev.ru — Разработка игр