summaryrefslogtreecommitdiff
path: root/Client/ThirdParty/imgui/backends/imgui_impl_wgpu.h
diff options
context:
space:
mode:
Diffstat (limited to 'Client/ThirdParty/imgui/backends/imgui_impl_wgpu.h')
-rw-r--r--Client/ThirdParty/imgui/backends/imgui_impl_wgpu.h25
1 files changed, 25 insertions, 0 deletions
diff --git a/Client/ThirdParty/imgui/backends/imgui_impl_wgpu.h b/Client/ThirdParty/imgui/backends/imgui_impl_wgpu.h
new file mode 100644
index 0000000..ec10768
--- /dev/null
+++ b/Client/ThirdParty/imgui/backends/imgui_impl_wgpu.h
@@ -0,0 +1,25 @@
+// dear imgui: Renderer for WebGPU
+// This needs to be used along with a Platform Binding (e.g. GLFW)
+// (Please note that WebGPU is currently experimental, will not run on non-beta browsers, and may break.)
+
+// Implemented features:
+// [X] Renderer: User texture binding. Use 'WGPUTextureView' as ImTextureID. Read the FAQ about ImTextureID!
+// [X] Renderer: Support for large meshes (64k+ vertices) with 16-bit indices.
+
+// You can use unmodified imgui_impl_* files in your project. See examples/ folder for examples of using this.
+// Prefer including the entire imgui/ repository into your project (either as a copy or as a submodule), and only build the backends you need.
+// If you are new to Dear ImGui, read documentation from the docs/ folder + read the top of imgui.cpp.
+// Read online: https://github.com/ocornut/imgui/tree/master/docs
+
+#pragma once
+#include "imgui.h" // IMGUI_IMPL_API
+#include <webgpu/webgpu.h>
+
+IMGUI_IMPL_API bool ImGui_ImplWGPU_Init(WGPUDevice device, int num_frames_in_flight, WGPUTextureFormat rt_format);
+IMGUI_IMPL_API void ImGui_ImplWGPU_Shutdown();
+IMGUI_IMPL_API void ImGui_ImplWGPU_NewFrame();
+IMGUI_IMPL_API void ImGui_ImplWGPU_RenderDrawData(ImDrawData* draw_data, WGPURenderPassEncoder pass_encoder);
+
+// Use if you want to reset your rendering device without losing Dear ImGui state.
+IMGUI_IMPL_API void ImGui_ImplWGPU_InvalidateDeviceObjects();
+IMGUI_IMPL_API bool ImGui_ImplWGPU_CreateDeviceObjects();