В общем, вы хотите сделать это на процессоре.Тем не менее, DirectX 9 имеет концепцию « preshaders », что означает, что это умножение будет выполняться на ЦП заранее.Это было удалено для более новых API, но это может быть очень уместно для примеров, которые вы просматриваете.
Более того, современные графические процессоры чрезвычайно быстры, когда дело доходит до операций ALU по сравнению с доступом к памяти.Наличие скромно сложного вершинного шейдера (возможно, с извлечением текстуры) означает, что математика, необходимая для умножения матриц, предоставляется бесплатно, поэтому авторы, возможно, даже не потрудились.
В любом случае, лучшая практика - это предварительно-множить все постоянные на процессоре.То же самое относится и к перемещению работы из пиксельных шейдеров в вершинные шейдеры (если что-то постоянно в треугольнике, не вычисляйте это для каждого пикселя.)