среда, 3 февраля 2010 г.

Математика матриц,векторов и кватернионов в макросах Си препроцессора

Когда-то написал набор макросов для работы с матрицами, векторами и прочими сущностями используемыми в 3D графике. Выкладываю теперь в паблик домен.

http://dumpz.org/16627/

Макросы хорошо оптимизируются компилятором, так что не стоит обращать внимание на некоторую неоптимальность (мол синус считается от одного угла несколько раз и т.д. :)), это сделано намеренно. Есть однако оптимизированные варианты для пары макросов, например, matrix44_rotate_from_axis_sincos для matrix44_rotate_from_axis.

Эти макросы использовались в некоторых программах, как моих собственных, так и по работе. Известных багов нет. Тесты даже были, да потерял.