Войти
ПрограммированиеФорумОбщее

исходники кватернионов и математики в разных движках

Страницы: 1 2 3 Следующая »
#0
(Правка: 26 мая 2023, 9:52) 16:46, 11 фев 2023

Что бы сравнить как разрабы написали в разных движках, и что бы не потерять.

*Популярные движки*


https://github.com/godotengine/godot/blob/158540e96ab225042c72eca… uaternion.cpp
https://github.com/urho3d/urho3d/blob/ca28b35c549ddc1ff848f309098… uaternion.cpp
https://github.com/rbfx/rbfx/blob/5fda6c21f105751c6ce409311462312… uaternion.cpp
https://github.com/OGRECave/ogre/blob/390755394410b6db5b14bbdcc33… uaternion.cpp
https://github.com/zaki/irrlicht/blob/master/include/quaternion.h
https://github.com/id-Software/DOOM-3-BFG/blob/1caba1979589971b5e… b/math/Quat.h

*Unreal Engine*


Получение доступа к эпиковскому репо
https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Sou… c/Math/Quat.h
https://github.com/EpicGames/UnrealEngine/blob/4.27/Engine/Source… c/Math/Quat.h

*Всякие разные либы и движки*


https://github.com/NVIDIAGameWorks/PhysX/blob/93c6dd21b545605185f… tion/PxQuat.h
https://github.com/Groovounet/glm/blob/e1afbc9ceaacbc9aed7bb896d2… uaternion.inl
https://github.com/Groovounet/glm/blob/e1afbc9ceaacbc9aed7bb896d2… uaternion.hpp
https://github.com/KeenSoftwareHouse/SpaceEngineers/blob/master/S… Quaternion.cs
https://github.com/orbitersim/orbiter/blob/main/Src/Orbiter/Vecmat.cpp
https://github.com/storm-devs/storm-engine/blob/develop/src/libs/… /quaternion.h
https://github.com/assimp/assimp/blob/c48507beea04d54ec41ee5f15a5… uaternion.inl
https://github.com/castle-engine/castle-engine/blob/e1ed139bdf11a… aternions.pas

Полезные ссылки
https://gpuopen.com/learn/matrix-compendium/matrix-compendium-intro/

#1
17:34, 11 фев 2023

UEшные доступны не только лишь всем.
в тех что выше, нашел пару интересного

#2
18:39, 11 фев 2023

Noir
> UEшные доступны не только лишь всем.
https://docs.unrealengine.com/5.1/en-US/downloading-unreal-engine-source-code/

#3
19:34, 11 фев 2023

Есть еще GLM.

Не увидел в этих реализациях функций для конвертации кватерниона в вектор (направление) и обратно, у меня они зачем-то есть.

#4
20:06, 11 фев 2023

/A\
есть там Quaternion2Velocity у меня этого как раз не было. взял, вдруг пригодится =)

#5
(Правка: 23:03) 23:00, 11 фев 2023

Вот Иррлихт
https://github.com/zaki/irrlicht/blob/master/include/quaternion.h

Да, GLM уж тогда тоже добавляй, как выше писали. Гитхаб, по запросу Quaternion, выдаёт 451 repository results Это только на плюсах ))

#6
23:05, 11 фев 2023
float Quaternion::Angle() const
{
    return 2 * Acos(w_);
}

кстати такое себе. в результате всяких перемножений и инверсий у кватерниона может получиться
четвертая компонента типа 1.000000005
и вернется NAN

#7
23:24, 11 фев 2023

Почему все изобретают свою математику, а не используют уже сделанную? И вообще давно пора включить в стандарт с++ 3дешную математику... И тогда количество велосипедов уменьшится в разы.

#8
23:40, 11 фев 2023

stratego
наверное потому что у разрабов свои ожидания. вот одни тут считают что все должно работать влоб, и никаких проверок. получился NAN или другая хрень, приложение пало - сам виноват, данные подготовил плохо. я например считаю, что функции должны быть сделаны отказоустойчиво пусть не всегда логично. в юнити например так.

#9
0:03, 12 фев 2023

Noir
> кстати такое себе. в результате всяких перемножений и инверсий у кватерниона
> может получиться
> четвертая компонента типа 1.000000005
> и вернется NAN
Если во флоатах делать, то у меня всё нормально - выдаёт ноль, ну если точность повысить, тогда - уже облом )) Не надо гнаться за точностью, и да не огребёте проблем ))

#10
2:13, 12 фев 2023

Noir
> кстати такое себе.
+1

Использование обратных тригонометрических функций, отличных от atan2, в 90% случаев говнокод.
Данный пример — яркая иллюстрация этого правила.

#11
9:53, 12 фев 2023

Storm-Engine, движок Корсаров.
https://github.com/storm-devs/storm-engine/blob/develop/src/libs/… /quaternion.h

#12
9:58, 12 фев 2023

IGamedevStudio, напиши что у них у всех одинаково сделано и какие есть различия и фишки. На вскидку так там всё очень похоже..

> https://github.com/EpicGames/UnrealEngine/blob/release/Engine/Sou…
> c/Math/Quat.h
> https://github.com/EpicGames/UnrealEngine/blob/4.27/Engine/Source…
> c/Math/Quat.h
Что-то я туда попасть не могу, 404

#13
15:03, 12 фев 2023

stratego
> напиши что у них у всех одинаково сделано и какие есть различия и фишки.
А я всё и не сравнивал, только то что мне было нужно посмотреть.

В анриле умножение на вектор отличается, и ещё я пока не понял FQuat::MakeFromEuler в 4.27

Кстати было бы не плохо получить ссылки для ламберярда и GLM, у мну нет их на компе, а гугл через гит вытаскивает всё подряд.
И не понял что там у крайтеков с доступом к сурсам.
Раз уж собирать нужно все популярные движки и самые мощные либы.

#14
15:23, 12 фев 2023

IGamedevStudio
> Кстати было бы не плохо получить ссылки для ламберярда и GLM
https://github.com/Groovounet/glm/blob/e1afbc9ceaacbc9aed7bb896d2… uaternion.hpp
https://github.com/Groovounet/glm/blob/e1afbc9ceaacbc9aed7bb896d2… uaternion.inl
Там на два файла раскинуто

stratego
> Storm-Engine, движок Корсаров.
> https://github.com/storm-devs/storm-engine/blob/develop/src/libs/…
> /quaternion.h
Не понравился?

Страницы: 1 2 3 Следующая »
ПрограммированиеФорумОбщее