transform guizmos, math and bugfixing file open/save

This commit is contained in:
Erris
2026-02-20 22:59:30 +01:00
parent a897d5c798
commit 02430073ec
12 changed files with 210 additions and 44 deletions

View File

@@ -31,4 +31,5 @@
#include "open_engine/renderer/shader.hpp"
#include "open_engine/scene/entity.hpp"
#include "open_engine/scene/scene.hpp"
#endif // OPEN_ENGINE_HPP

View File

@@ -0,0 +1,13 @@
#ifndef MATH_HPP
#define MATH_HPP
#include <glm/fwd.hpp>
namespace OpenEngine::Math {
bool DecomposeTransform(const glm::mat4& transform,
glm::vec3& out_translation, glm::vec3& out_rotation,
glm::vec3& out_scale);
}
#endif // MATH_HPP

View File

@@ -9,6 +9,10 @@
#include <glm/gtc/type_ptr.hpp>
#include <glm/fwd.hpp>
#include <glm/glm.hpp>
#define GLM_ENABLE_EXPERIMENTAL
#include <glm/gtx/quaternion.hpp>
#include <imgui_internal.h>
#include <imgui.h>
#include <string>
@@ -55,10 +59,7 @@ namespace OpenEngine {
{
glm::mat4 transform = glm::translate(glm::mat4(1.0f), translation);
transform *= glm::rotate(glm::mat4(1.0f), rotation.x, { 1, 0, 0 })
* glm::rotate(glm::mat4(1.0f), rotation.y, { 0, 1, 0 })
* glm::rotate(glm::mat4(1.0f), rotation.z, { 0, 0, 1 });
transform *= glm::toMat4(glm::quat(rotation));
transform *= glm::scale(glm::mat4(1.0f), scale);
return transform;

View File

@@ -22,6 +22,8 @@ namespace OpenEngine {
entt::registry& GetRegistry() { return registry; };
Entity GetPrimaryCamera();
private:
entt::registry registry;