Войти
ФлеймФорумИгры

Quake (4 стр)

Страницы: 13 4 5 692 Следующая »
#45
15:52, 9 дек. 2013

CD
интерполяция между вершинами?
как-т сомнительно
да и незаметно нифига

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

#46
15:54, 9 дек. 2013

TarasB
> и хотя монстрыи и занимают лишь небольшую часть кадра, но в интерполяцию я не
> верю
А в чем сложность? Одно целочисленное сложение на пиксель.

#47
16:00, 9 дек. 2013

Spartan
> А в чем сложность? Одно целочисленное сложение на пиксель.
А хотя да, в данном случае она дешёвая.
Правда, не ясно, нафига, не видно ж ваще, что часть монстра в тени, а часть на свету.

#48
(Правка: 16:08) 16:02, 9 дек. 2013

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
#49
16:08, 9 дек. 2013

Гуро? Не было там по моему гуро. Просто один уровень освещения на всю модель монстра.

#50
16:09, 9 дек. 2013

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

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

#51
16:11, 9 дек. 2013

=A=L=X=
> Гуро? Не было там по моему гуро. Просто один уровень освещения на всю модель
> монстра.

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

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

#52
16:26, 9 дек. 2013

TarasB
> Ещё интересно, как сделаны вспышки от взрывов

If dynamic lighting is needed, the light map is modified accordingly before the buffer, which I'll call a surface, is built
#53
16:26, 9 дек. 2013

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

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

#54
16:29, 9 дек. 2013

=A=L=X=
> если бы он сделал проще и рендерил каждый кадр "по честному", то получилось бы
> ненамного тормознее, ибо у сурфейсов же тоже свои характерные накладные расходы

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

#55
(Правка: 16:56) 16:56, 9 дек. 2013

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

#56
16:58, 9 дек. 2013

=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.

#57
17:07, 9 дек. 2013

Unreal рулит и педалит ...

#58
17:08, 9 дек. 2013

innuendo
Жду объяснений.

#59
(Правка: 17:15) 17:15, 9 дек. 2013

innuendo
> Unreal рулит и педалит ...
Согласен, но до него ещё не добрались.

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

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

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

Страницы: 13 4 5 692 Следующая »
ФлеймФорумИгры