Умножение вектора на матрицу преобразования емнип 16 умножений, 12 сложений с нужной точностью.
не могу не вмешаться
9 умножений и 9 сложений на точку. если пренебречь дрожащими вершинами, то точность не важна.
и единоразово (на всю сцену) рассчёт матрицы - 25 умножений и 6 сложений/вычитаний.
это в самом общем случае для абсолютно любого объекта.
гораздо более ресурсоёмкие операции - отсечения заведомо не отрисовыемых частей полигонов.
----
самое быстрое и не пригодное для реальных условий умножение:
Код:
; BC = A * L
; A от 0 до 255, L от 0 до 255
; DE должно быть == #4000
add a,'MULTBL
ld h,a
ld c,(hl)
add hl,de
ld b,(hl)
итого 7+4+7+11+7 = 36 (причём это наиболее быстрое и наименее пригодное в реальной жизни умножение)
36 * 9 = 324 такта тольно на умножение
с реальным умножением (пусть оно и умжножает от -128 до 127 по таблице), будет гораздо больше.
так что ни 200 ни 100 точек за фрейм "честно" не повернуть.
----
с другой стороны в 3D игре важно не насколько оно фреймово, а просто насколько быстро.
и вот тут есть разница - поворот 2х точек намного быстрее отрисовки линии, как не крути.