Size: a a a

pro.graphon (and gamedev)

2020 October 19

AT

Anatoly TushkaN in pro.graphon (and gamedev)
поправка дешевый в хранении
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
у матриц есть преимущество в том что мы сразу знаем информацию об направлениях и скейлах, в отличии от кватернионов
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
хотя я наверняка лезу не по теме уж простите тогда
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Anatoly TushkaN
технически более дешевый вариант вычеслений это Quaternion + Vector3
https://computergraphics.stackexchange.com/a/144/5430 нет

multiply-add, transforming a vector by a quaternion is more expensive than transforming a vector by a matrix. Transforming a vector by a 3x3 matrix is 3 multiplies and 6 multiply-adds, and transforming a vector by a quaternion is two quaternion multiplies, each of which consist of 4 multiplies and 12 multiply-adds
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
я же сказал что в хранении
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
но для чего экономить 6 флоат?
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
опять же при условии что мы откидываем в сторону такие вещи как искажения
источник

MK

Matwey Kornilov in pro.graphon (and gamedev)
Если матрицы друг на друга умножать долго, то они потеряют ортогональность из-за ошибок округления
источник

MK

Matwey Kornilov in pro.graphon (and gamedev)
Кватернион поворота просто перенормировать назад
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
Anatoly TushkaN
я же сказал что в хранении
там же написано, что это может превратиться в выигрыш по времени, если у тебя узкое место в коде — это заргузки из памяти
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
только в этом случае, но это условность опускается довольно часто ибо в нынешнее время нет пней 2 или 3, сейчас даже телефоны это обычно прожевывают без особых проблем
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
если желаете угареть по оптимизации да это хороший вариант когда пишете крайне супер оптимизированный двиг
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
я себе могу представить ситуацию, когда какие-то анимации требуют большого количества загрузок этих кватернионов. Но вряд ли там опять же это основная проблема
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
все зависит от направления
источник

K

Kirill in pro.graphon (and gamedev)
кстати, преждевременная оптимизация - это отстой
пока валгринд не начнёт показывать, что ботлнек именно в месте хранения матриц - не стоит ничего там трогать
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
анимации обычно грузят один раз в память или подгружают в момент требования с рассчетом на время загрузки
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
да тут больше даже не про память, а про незакешированный доступ
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
преждевременная оптимизация требуется только в тот момент когда ты уверен что это место требует оптимизированного решения заранее ибо опыт показывает что в этом месте ведется просадка в будущем
источник

AT

Anatoly TushkaN in pro.graphon (and gamedev)
Anatoly Tomilov
да тут больше даже не про память, а про незакешированный доступ
а я разве что-то другое имел введу? Анимацию либо грузят заранее либо в момент востребованности, с УЧЕТОМ среднего времени на загрузку до того как пользователь может увидеть эту анимацию
источник

AT

Anatoly Tomilov in pro.graphon (and gamedev)
не знаю о чём ты, в таком случае. Что ты имеешь ввиду, когда говоришь "загрузят"? При чём здесь время на загрузку?
источник