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();
float in[4]{local.x, local.y, local.z, 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]};
}
bx::Vec3 Transform::LocalToGlobalPoint(bx::Vec3 local)

View File

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

View File

@@ -195,7 +195,6 @@ namespace Game
{
player.FreeflyCamTransform.UpdateMatrix();
bgfx::setViewTransform(viewId, player.FreeflyCamTransform.M.M, proj);
// bgfx::dbgTextPrintf(1, 0, 0b1100, "NOCLIP");
}
else
{
@@ -241,7 +240,7 @@ namespace Game
EData.MaterialHandle = 0;
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;
}
@@ -272,7 +271,7 @@ namespace Game
UIQuadEntity& quad = level.UIQuads.Get(UIPlacedCards[cardI]);
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;
auto& quad = level.UIQuads.Get(UIPlacedCards[cardI]);
quad.EData.Transform.SetPosition(cameraPos + Vec3{0, -2, 0});
quad.EData.Transform.Rotation = {};
Vec3 fw = {0, -1, 0};
// quad.EData.Transform.SetPosition(cameraPos + Vec3{0, -2, 0});
quad.EData.Transform.SetPosition({});
quad.EData.Transform.Rotation = camTransform.Rotation;
}
}
} // namespace Game