camera stuff

This commit is contained in:
Asuro
2025-02-18 02:46:25 +01:00
parent 2c32a261c1
commit b992a826ea
11 changed files with 95 additions and 29 deletions

View File

@@ -9,9 +9,17 @@ enum class PerfCounterType
{
WindowEvents,
GameDelta,
GameLevelUpdate,
Submit,
COUNT
};
constexpr const char* PerfCounterNames[(int32_t)PerfCounterType::COUNT]{
"WindowEvt",
"Delta",
"Level",
"Submit",
};
struct PerfCounter
{
static constexpr int32_t TimeWindow = 128;

View File

@@ -1,4 +1,5 @@
#include "SDL3/SDL_events.h"
#include "SDL3/SDL_mouse.h"
#include "Shared.h"
#include "Window.h"
#include "bx/timer.h"
@@ -27,6 +28,7 @@ void EngineWindow::Startup(SharedWindowData& shared)
printf("Failed to get window pointer!\n");
return;
}
SDL_SetWindowRelativeMouseMode(Window, true);
}
void EngineWindow::Update(SharedWindowData& shared)
@@ -59,8 +61,6 @@ void EngineWindow::Update(SharedWindowData& shared)
}
case SDL_EVENT_MOUSE_MOTION:
{
shared.MouseDeltaX += evt.motion.xrel;
shared.MouseDeltaY += evt.motion.yrel;
break;
}
case SDL_EVENT_MOUSE_BUTTON_DOWN:
@@ -77,6 +77,8 @@ void EngineWindow::Update(SharedWindowData& shared)
break;
}
}
SDL_GetRelativeMouseState(&shared.MouseDeltaX, &shared.MouseDeltaY);
END_PERF(shared.PerfCounters, PerfCounterType::WindowEvents, shared.FrameCounter);
}