Pull to refresh

Comments 8

Самое интересное в этй статье (для меня), что там напихали в reshade, чтобы в каркасном виде игры рисовались? Я б ради этого даже reshade установил.
Интересно, кто-то повторил этот эксперимент?
Я так и не смог сделать ничего похожего в ReShade.
Видимо, это представляет интеллектуальную ценность, раз сразу на гитхаб не выложили исходники из примеров. Или для каждой игры всё сильно индивидуально настраивается и нет смысла в обобщённом коде выкладывать.
Три раза перемножил матрицу и вектор из первого примера
Заголовок спойлера
image

и получил:
x_0 + dx * w
y_0 + dy * w
z_0 + dz * w
w
Что я делаю не так?

Вот пример этой операции из исходников gl-matrix
http://glmatrix.net/docs/vec4.js.html#line478


Т.е. за счет нижнего ряда все w умножаются на 0, кроме последнего компонента.


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


Т.е. вы её похоже транспонировали. Строки со столбцами перепутали.

Если вы посмотрите свой пример, увидите там
+ m[12] (dx) * w;
+ m[13] (dy) * w;
+ m[14] (dz) * w;
+ m[15] (1) * w;
Все правильно делаете. А в статье — «почти» ошибка.

Дело в том, что когда 4-х компонентный вектор, представляющий вершину треугольника, умножается на матрицу, предполагается в что в w сидит 1 или 0. 1 — если нужно применять транспонирование из последнего столбца матрицы, 0 — когда нет.
То чувство, когда ощущаешь себя примитивным тендером :) При отрисовке топоплана(хорошо что только в техникуме и универе) соединяешь пикеты плана (вершины) в треугольники и рисуешь горизонтали (изолинии), потом накладываешь условные знаки (текстуры) и тушью делаешь сел-шейдинг :)… Правда производительность так себе, один кадр за несколько часов/дней, да ещё «графический процессор» может уставать… (
Sign up to leave a comment.

Articles

Change theme settings