private unsafe void RenderFrame()
{
IO io = ImGui.GetIO();
io.DisplaySize = new System.Numerics.Vector2(NativeWindow.Width, NativeWindow.Height);
io.DisplayFramebufferScale = new System.Numerics.Vector2(_scaleFactor);
io.DeltaTime = (1f / 60f);
UpdateImGuiInput(io);
ImGui.NewFrame();
PreRenderFrame();
UpdateRenderState();
ImGui.Render();
DrawData* data = ImGui.GetDrawData();
RenderImDrawData(data);
}