wip
This commit is contained in:
@@ -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)
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
@@ -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
|
||||||
|
|||||||
Reference in New Issue
Block a user