mirror of
https://github.com/MaSzyna-EU07/maszyna.git
synced 2026-07-22 05:49:19 +02:00
Remove dumb3d
This commit is contained in:
21
utilities/glmHelpers.h
Normal file
21
utilities/glmHelpers.h
Normal file
@@ -0,0 +1,21 @@
|
||||
#pragma once
|
||||
#include <glm/glm.hpp>
|
||||
|
||||
inline glm::dmat4 BasisChange(glm::dvec3 u, glm::dvec3 v, glm::dvec3 n)
|
||||
{
|
||||
return glm::dmat4{glm::dvec4(u.x, v.x, n.x, 0.0), glm::dvec4(u.y, v.y, n.y, 0.0), glm::dvec4(u.z, v.z, n.z, 0.0), glm::dvec4(0.0, 0.0, 0.0, 1.0)}; // 4 columns; first rows: u, v, n
|
||||
}
|
||||
|
||||
inline glm::dmat4 BasisChange(glm::dvec3 v, glm::dvec3 n)
|
||||
{
|
||||
glm::dvec3 u = glm::cross(v, n);
|
||||
return BasisChange(u, v, n);
|
||||
}
|
||||
|
||||
template <typename T> inline glm::vec<3, T> RotateY(const glm::vec<3, T> &v, T angle)
|
||||
{
|
||||
T s = std::sin(angle);
|
||||
T c = std::cos(angle);
|
||||
|
||||
return glm::vec<3, T>(c * v.x + s * v.z, v.y, c * v.z - s * v.x);
|
||||
}
|
||||
Reference in New Issue
Block a user