CD
интерполяция между вершинами?
как-т сомнительно
да и незаметно нифига
и хотя монстрыи и занимают лишь небольшую часть кадра, но в интерполяцию я не верю
TarasB
> и хотя монстрыи и занимают лишь небольшую часть кадра, но в интерполяцию я не
> верю
А в чем сложность? Одно целочисленное сложение на пиксель.
Spartan
> А в чем сложность? Одно целочисленное сложение на пиксель.
А хотя да, в данном случае она дешёвая.
Правда, не ясно, нафига, не видно ж ваще, что часть монстра в тени, а часть на свету.
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
Гуро? Не было там по моему гуро. Просто один уровень освещения на всю модель монстра.
CD
> для всего остального метод не подошел, т.к. выглядело коряво (нет перспективной
> коррекции, нужны мелкие полигоны)
Думаю, дело не в коррекции, ибо кто мешал делать так же, как для текстурных координат - корректировать каждые 8 пикселей, и заполнять 8-пиксельные цепочки афинно.
Скорее всего, для помещений с большими квадратными стенами это действительно выглядело бы не очень.
=A=L=X=
> Гуро? Не было там по моему гуро. Просто один уровень освещения на всю модель
> монстра.
Да вот я тоже, вроде бы, не видел монстра, наполовину сидящего в тени, наполовину на свету.
Надо сегодня бы перепроверить.
Ещё интересно, как сделаны вспышки от взрывов. Да, они хреново учитывают геометрию, но всё равно это так просто, вроде бы, не сделать.
TarasB
> Ещё интересно, как сделаны вспышки от взрывов
If dynamic lighting is needed, the light map is modified accordingly before the buffer, which I'll call a surface, is built
TarasB
> Ещё интересно, как сделаны вспышки от взрывов. Да, они хреново учитывают
> геометрию, но всё равно это так просто, вроде бы, не сделать.
Динамический пересчет лайтмэпов. Кстати да - это сразу же вовлекало перестройку surface-ов.
Вообще в той статье интересно написано, с таким апломбом что мол Кармак всё таки хоть и выдавил всё возможное почти под ноль, но если бы он сделал проще и рендерил каждый кадр "по честному", то получилось бы ненамного тормознее, ибо у сурфейсов же тоже свои характерные накладные расходы. Но х/з, насколько это мнение верное.
=A=L=X=
> если бы он сделал проще и рендерил каждый кадр "по честному", то получилось бы
> ненамного тормознее, ибо у сурфейсов же тоже свои характерные накладные расходы
Хз, сурфейсы рендерятся достаточно редко.
А вот каждый кадр на каждый пиксел фильтровать - это невозможно даже близко с такой скоростью.
Ну по крайней мере, у меня нет идей, как это возможно.
=A=L=X=
> Гуро? Не было там по моему гуро
С-вариант рисования моделей:
https://github.com/id-Software/Quake/blob/master/WinQuake/d_polyse.c#L722
D_RasterizeAliasPolySmooth
=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.
Unreal рулит и педалит ...
innuendo
Жду объяснений.
innuendo
> Unreal рулит и педалит ...
Согласен, но до него ещё не добрались.
Panzerschrek[CN]
> Жду объяснений.
Пфф, поиграй, поймёшь.
Идёт на моём компе, в 640х480 у кваки фпс 40, у Анрыла - хз, но играть можно, то есть отставание не более, чем в полтора раза.
32 бита.
Цветные светокарты.
Плавная смена светокарт.
Прозрачность.
Фильтрация текстур через дизеринг, и этот дизеринг я до сих пор не расколол - как его записать покомпактнее?
Коронки вокруг источников света.
Немного динамического освещения.
Играть, конечно же надо в софте.
А то некоторые блин врубают опенгл (ведь училка сказала что опенгл рулезззз) а потом удивляются, что картинка ничего особенного.
А вот отсечка предметов по стенам в Анриле таки хреновая (иногда артефактит), в Кваке лучше.