Зачем вообще этот тред?
Если я пользуюсь движком А, то мне пофиг, как это сделано в движке Б.
А может я даже вообще не знаю, что такое кватернион.
А если я пишу свой велосипед, я скорее всего справлюсь с вариациями поисковых запросов "c++ quaternion source".
Написал бы уж тогда статью как гуглить - практической пользы было бы больше.
Der FlugSimulator
> Если я пользуюсь движком А, то мне пофиг, как это сделано в движке Б.
Так здесь движкописатели собрались, а ты продолжай пользоваться своим движком)
Der FlugSimulator
> Зачем вообще этот тред?
>
> Если я пользуюсь движком А, то мне пофиг, как это сделано в движке Б.
> А может я даже вообще не знаю, что такое кватернион.
Да не обращай внимания, людям интересно - пускай изучают. Вдруг родится универсальна либа или даже в стандарт для плюсов включат )
stratego
> Storm-Engine, движок Корсаров.
OMG:
inline Quaternion &Quaternion::operator-() { x = -x; y = -y; z = -z; w = -w; return *this; }
Употребление −q внезапно портит q.
}:+()___ [Smile]
> Употребление −q внезапно портит q.
Это пятимерная геометрия, просто не до росли всякие недоматематики )))
}:+()___ [Smile]
> inline Quaternion &Quaternion::operator-()
> {
> x = -x;
> y = -y;
> z = -z;
> w = -w;
> return *this;
> }
> Употребление −q внезапно портит q.
:DDDD
правда, противо-естественная операция над кватернионом.
}:+()___ [Smile]
> Употребление −q внезапно портит q.
Та же в Думе сделано...
ID_INLINE idQuat idQuat::operator-() const { return idQuat( -x, -y, -z, -w ); }
А в Иррлихте, не так
// Inverts this quaternion inline quaternion& quaternion::makeInverse() { X = -X; Y = -Y; Z = -Z; return *this; }
И в Огре
Quaternion Quaternion::UnitInverse () const { // assert: 'this' is unit length return Quaternion( w,-x,-y,-z); }
В Urho3d надо было еще h-файл добавить, там намного интереснее, есть поддержка SSE
/// Return conjugate. Quaternion Conjugate() const { #ifdef URHO3D_SSE __m128 q = _mm_loadu_ps( &w_); return Quaternion( _mm_xor_ps( q, _mm_castsi128_ps( _mm_set_epi32( ( int)0x80000000UL, ( int)0x80000000UL, ( int)0x80000000UL, 0)))); #else return Quaternion( w_, -x_, -y_, -z_); #endif }
И тут снова всё верно, открытые движки выигрывают, по сравнению с изначально закрытыми ))
stratego
Разве в думе не верстают новый кват?
stratego
Всегда интересовал вопрос насколько ссе даёт буст в движках а не число дробилках
innuendo
> stratego
> Разве в думе не верстают новый кват?
И что это меняет?
innuendo
> Всегда интересовал вопрос насколько ссе даёт буст в движках а не число
> дробилках
Меня это тоже интересует )) В теории иногда может дать хороший прирост, но как часто это иногда бывает?
stratego
Не меняется результат шо е просто обратный вектор но не должно менять исходное значение
stratego
> Меня это тоже интересует )) В теории иногда может дать хороший прирост, но как
> часто это иногда бывает?
юнитишную систему секторного куллинга (ассет) перенес на симд и нативный, ну и немного подкорректировал. стало шустрее в разы).
если системы частиц на цпу ситаются, думаю будет разница. а так, по моему никакой разницы нет.
innuendo
> Не меняется результат шо е просто обратный вектор но не должно менять исходное
> значение
Да я тупанул ((