opengl glm and bullet physics transformation matrix conversion

Bullet физикийн rigid body нь btTransform төрлөөр хувиргалтын мэдээллээ хадгалж байдаг харин OpenGL-д миний ашиглаж байгаа төрөл бол glm::mat4 юм. Тэхээр bullet-ээс glm-рүү хувиргалтын мэдээллийг дараах байдлаар хөрвүүлэв.






Дараах зурагт физик объектүүд дээр дээрээсээ давхралдан унаж тогтсон байгааг харж болно. Туршилтынх тул collison shape-үүдийнх нь хэмжээ нь их байгаа учраас объектүүд хоорондоо зайтай давхралдан харагдаж байна.



[нэмэлт засвар]
Дээрхи хэрэгжүүлэлт нь буруу байжээ учир нь bullet-ийн хувиргалтаас quaternion вектор авч эргүүлэлтийн чиглэл болон өнцөгийн утгуудыг авч ашигласан боловч нэг л буруу ажиллаад байлаа. Учир нь quaternion-оос авсан өнцөгийн утга бол эелэрийн өнцөг биш юм байна. Тиймээс bullet-ийн хувиргалтаас шууд матрицийг нь авч объектдээ үржүүлж өгөх хэрэгтэй.