#include "imgui.h"
#include "passes/fg.h"
#include "pipelines.h"
#include "shaders/renderer_types.h"
namespace imgui_pass {
void record(
rhi::Device &device, Pipelines &pipelines, rhi::ShaderCompiler &sc, FrameGraph &fg, rhi::ImageFormat output_format
) {
rhi::RenderPipelineDesc pd;
pd.device = &device;
pd.set_shaders(sc, "src/passes/imgui/imgui.slang", "vsMain", "fsMain");
pd.add_vertex_binding(0, VERTEX_STRIDE, false);
pd.add_vertex_attribute(0, 0, rhi::ImageFormat::RG32_FLOAT, 0);
pd.add_vertex_attribute(1, 0, rhi::ImageFormat::RG32_FLOAT, 8);
pd.add_vertex_attribute(2, 0, rhi::ImageFormat::RGBA8_UNORM, 16);
pd.set_input_topology(rhi::PipelineTopology::TRIANGLES);
pd.set_depth_testing(false, false, rhi::PipelineCompareOp::ALWAYS);
pd.set_blending();
pd.set_cull_mode(rhi::PipelineCullMode::NONE, rhi::PipelineTriangleWindingOrder::CCW);
pd.set_color_format(output_format);
pipelines.add_render("ImGui", pd);
}
} // namespace imgui_pass