- 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
19 lines
380 B
GLSL
19 lines
380 B
GLSL
#version 450
|
|
|
|
layout(location = 0) in vec2 inPosition;
|
|
layout(location = 1) in vec2 inUV;
|
|
layout(location = 2) in vec4 inColor;
|
|
|
|
layout(location = 0) out vec4 fragColor;
|
|
layout(location = 1) out vec2 fragUV;
|
|
|
|
layout(push_constant) uniform PC {
|
|
mat4 mvp;
|
|
} pc;
|
|
|
|
void main() {
|
|
gl_Position = pc.mvp * vec4(inPosition, 0.0, 1.0);
|
|
fragColor = inColor;
|
|
fragUV = inUV;
|
|
}
|