feat: ImGui debug overlay — FPS, camera position, entity count
- ImGui.NET 1.91.6.1 integrated into Engine.Graphics.Vulkan - VulkanImGui.cs: font atlas upload (staging → VkImage), sampler, descriptor set (COMBINED_IMAGE_SAMPLER), separate pipeline with alpha blending, no depth write, dynamic scissor - ImGui shaders: imgui.vert (ortho MVP push constant) + imgui.frag (font texture sampler) - Dynamic vertex/index buffers (HOST_VISIBLE, grow on demand) - IRenderer interface: BeginImGuiFrame/EndImGuiFrame default methods - Program.cs: debug window with FPS, camera pos/target, entity count - 0 critical validation errors, ~750 FPS with physics + ImGui
This commit is contained in:
@@ -13,4 +13,16 @@ public interface IRenderer : IDisposable
|
||||
void RequestScreenshot(string path);
|
||||
bool IsScreenshotRequested { get; }
|
||||
IScreenshotProvider ScreenshotProvider { get; }
|
||||
|
||||
/// <summary>
|
||||
/// Called before RenderWorld to begin a new ImGui frame.
|
||||
/// Null if the backend doesn't support ImGui.
|
||||
/// </summary>
|
||||
void BeginImGuiFrame() { }
|
||||
|
||||
/// <summary>
|
||||
/// Called after RenderWorld to render ImGui draw data.
|
||||
/// Null if the backend doesn't support ImGui.
|
||||
/// </summary>
|
||||
void EndImGuiFrame() { }
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user