
ПЫПЫСЫ: Да я знаю что меня посещают иногда бредовые идеи.

ПЫПЫСЫ: Да я знаю что меня посещают иногда бредовые идеи.
Про scale понятно, просто я даже и не помню где его пользовал впоследний раз, для эффектов разве что. Но для них, можно протянуть отдельно параметр в шейдер. Потом по поводу тормозов не уверен что намного больше их будет, видовое преобразовани тоже на кватернионах, вопрос с проекцией но нада думать, да и вершин в принципе не много по сравнению с количеством пикселей на экране, хотя тоже спорный момент. Обратное преобразование из кватерниона и позиции проще получить чем из матрицы, хотя если обратную матрицу считать для афинного преобразования (а если учесть, что только pos и rot, и контролить положительную определённость), а не тупо влоб, то тоже спорный момент.
ПЫСЫ: Пойду выкачаю книжку.
Вот пример реальной задачи с матричной математикой: повернуть кость скелета так, чтобы она смотрела в заданную точку в мировом пространстве.
Что-то очень сомнительно, что получиться на одних кватернионах+смещениях вычислять такие вещи.
Scale опять же нужен, причём non-uniform -- для статической геометрии.
Если брать грубо то мы используем 2 вида матричных оперций.
T=M*N и T=T-1 c их помощью можно решить задачу описаную выше.
На самом деле всё что мы меняем это представление матриц раньше оно было float[16] щас Quat + pos
T[Qt; Pt] = M*N[Qm+Qn; Pm + Pn*Qm]T[Qt; Pt] = T-1[Qt-1; Pt*Qt-1]
Писалось из головы, так что может не совсем точно, но гдето рядом.
Эм. К чему этот цирк? Операций что ли меньше? А если scale добавить?
Т.е. вот к примеру на позапрошлом PSP-проекте я вообще не замечал никаких проблем с памятью/скоростью из-за матричных операций. В смысле переход на SQP ничего не улучшил бы, только гемороя добавил бы.
Да вопрос не в скорости, а больше в удобстве использования. большинство кода с которым имеет дело программист (физика анимация ai рендер скелета ...) напичкано QuatToMat MatToQuat итп фигнёй. Вот и задумался над этим вопросом.
да и подискутировать на абстрактную тему мозг расслабить тоже неплохо.
По-моему , проблема слишком мелкая чтобы морочится. Где-то нужны SQP (анимация, физика), где-то матрицы. Не думаю что весь остальной код выглядит настолько красиво, что богомерзкие Quat2Matrix портят всю картину 
http://code.google.com/p/kri/wiki/Quaternions
P.S. Это обсуждение сферической проблемы в вакууме:)
А какую задачу собственно решаем?
Память? если делать правильно со всякими align и проч. не сильно выигрываете
Скорость? хм - не сказал бы, особенно учитывая что операции с матрицами идеально simd-ятся а вот с кватернионами совсем нет
Читаемость кода? опять же - зависит.
Т.е. в чистом остатке - кватернионы нужны для этого, матрицы для того - а сказать что давайте сделаем всё на кватерниноах - пахнет серебряной пулей
Я как раз и предложил - перевести все на кватернионы + позиция + униформ скейл, просто видимо ты не внимательно прочитал ветку.BronX писал(а):А насчет твоего случая ...
Никакую, просто идею, заодно посмотреть насколько живаяdiscouraged_one писал(а):А какую задачу собственно решаем?
Плюс вычисления с кватернионами в щейдерах -- какие-никакие а дополнительные тормоза.
У Грегори ("Game Engine Architecture") было про всякое такое.