Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!

Вот пример этой операции из исходников gl-matrix
http://glmatrix.net/docs/vec4.js.html#line478
Т.е. за счет нижнего ряда все w умножаются на 0, кроме последнего компонента.
Для проверки себя, просто умножьте на единичную матрицу, и увидите что все компоненты остаются на своих местах.
Т.е. вы её похоже транспонировали. Строки со столбцами перепутали.
Как работает рендеринг 3D-игр: обработка вершин