This commit is contained in:
Asuro
2025-03-01 14:52:28 +01:00
parent f7c01cb7b5
commit 467a4a0491
3 changed files with 23 additions and 6 deletions

View File

@@ -141,7 +141,8 @@ Vec3 Transform::LocalToGlobalDirection(Vec3 local)
UpdateMatrix(); UpdateMatrix();
float in[4]{local.x, local.y, local.z, 0.0f}; float in[4]{local.x, local.y, local.z, 0.0f};
float out[4]{0.0f}; float out[4]{0.0f};
bx::vec4MulMtx(out, in, M.M); Mat4 test = M.Transpose();
bx::vec4MulMtx(out, in, test.M);
return {out[0], out[1], out[2]}; return {out[0], out[1], out[2]};
} }
bx::Vec3 Transform::LocalToGlobalPoint(bx::Vec3 local) bx::Vec3 Transform::LocalToGlobalPoint(bx::Vec3 local)

View File

@@ -1,6 +1,7 @@
#pragma once #pragma once
#include "bx/math.h" #include "bx/math.h"
#include <cfloat>
struct Vec2 struct Vec2
{ {
@@ -63,6 +64,13 @@ struct Vec2
{ {
return bx::sqrt(x * x + y * y); return bx::sqrt(x * x + y * y);
} }
Vec2 Normalize()
{
float mag = Magnitude();
if (mag < FLT_EPSILON) return {};
return {x / mag, y / mag};
}
}; };
struct Vec3 struct Vec3
@@ -131,6 +139,13 @@ struct Vec3
{ {
return bx::sqrt(x * x + y * y + z * z); return bx::sqrt(x * x + y * y + z * z);
} }
Vec3 Normalize()
{
float mag = Magnitude();
if (mag < FLT_EPSILON) return {};
return {x / mag, y / mag, z / mag};
}
}; };
struct Vec4 struct Vec4

View File

@@ -195,7 +195,6 @@ namespace Game
{ {
player.FreeflyCamTransform.UpdateMatrix(); player.FreeflyCamTransform.UpdateMatrix();
bgfx::setViewTransform(viewId, player.FreeflyCamTransform.M.M, proj); bgfx::setViewTransform(viewId, player.FreeflyCamTransform.M.M, proj);
// bgfx::dbgTextPrintf(1, 0, 0b1100, "NOCLIP");
} }
else else
{ {
@@ -241,7 +240,7 @@ namespace Game
EData.MaterialHandle = 0; EData.MaterialHandle = 0;
EData.ModelHandle = GameRendering::Get().GetModelHandleFromPath("models/zurg.gltf"); EData.ModelHandle = GameRendering::Get().GetModelHandleFromPath("models/zurg.gltf");
EData.Transform.Position = {0.0f, 0.0f, 10.0f}; EData.Transform.Position = {0.0f, 0.0f, 0.0f};
EData.TestColor[0] = 0.0f; EData.TestColor[0] = 0.0f;
} }
@@ -272,7 +271,7 @@ namespace Game
UIQuadEntity& quad = level.UIQuads.Get(UIPlacedCards[cardI]); UIQuadEntity& quad = level.UIQuads.Get(UIPlacedCards[cardI]);
quad.EData.MaterialHandle = 0; quad.EData.MaterialHandle = 0;
quad.EData.ModelHandle = GameRendering::Get().GetModelHandleFromPath("models/plane.glb"); quad.EData.ModelHandle = GameRendering::Get().GetModelHandleFromPath("models/cube.glb");
} }
} }
@@ -290,8 +289,10 @@ namespace Game
level.PuzzleTiles.Get(TileHandles[cardI]).EData.ModelHandle = cData.ModelHandle; level.PuzzleTiles.Get(TileHandles[cardI]).EData.ModelHandle = cData.ModelHandle;
auto& quad = level.UIQuads.Get(UIPlacedCards[cardI]); auto& quad = level.UIQuads.Get(UIPlacedCards[cardI]);
quad.EData.Transform.SetPosition(cameraPos + Vec3{0, -2, 0}); Vec3 fw = {0, -1, 0};
quad.EData.Transform.Rotation = {}; // quad.EData.Transform.SetPosition(cameraPos + Vec3{0, -2, 0});
quad.EData.Transform.SetPosition({});
quad.EData.Transform.Rotation = camTransform.Rotation;
} }
} }
} // namespace Game } // namespace Game