Backends: SDLGPU3: Added sdl_gpu backend (amends). (#8163, #7998, #7988)

This commit is contained in:
ocornut
2025-01-09 16:55:03 +01:00
parent 8bbccf7a97
commit e799849272
10 changed files with 220 additions and 200 deletions
+5 -1
View File
@@ -1,3 +1,7 @@
Instructions to rebuild imgui_impl_sdlgpu3_shaders.h
(You don't need to copy this folder if you are using the backend as-is)
1) Compile the raw shader files to SPIRV:
glslc -o vertex.spv -c shader.vert
@@ -33,4 +37,4 @@
Proceed to step 4
4) Either find a way to load the shader bytecode from file, or use a tool like https://notisrac.github.io/FileToCArray/ to convert the file to a uint8_t array
4) Use a tool like https://notisrac.github.io/FileToCArray/ or misc/fonts/binary_to_compressed_c.cpp in imgui repository to convert the file to a uint8_t array.
+3 -2
View File
@@ -3,7 +3,8 @@ layout(location = 0) out vec4 fColor;
layout(set=2, binding=0) uniform sampler2D sTexture;
layout(location = 0) in struct {
layout(location = 0) in struct
{
vec4 Color;
vec2 UV;
} In;
@@ -11,4 +12,4 @@ layout(location = 0) in struct {
void main()
{
fColor = In.Color * texture(sTexture, In.UV.st);
}
}
+5 -3
View File
@@ -3,12 +3,14 @@ layout(location = 0) in vec2 aPos;
layout(location = 1) in vec2 aUV;
layout(location = 2) in vec4 aColor;
layout(set=1,binding=0) uniform UBO {
layout(set=1,binding=0) uniform UBO
{
vec2 uScale;
vec2 uTranslate;
} ubo;
layout(location = 0) out struct {
layout(location = 0) out struct
{
vec4 Color;
vec2 UV;
} Out;
@@ -19,4 +21,4 @@ void main()
Out.UV = aUV;
gl_Position = vec4(aPos * ubo.uScale + ubo.uTranslate, 0, 1);
gl_Position.y *= -1.0f;
}
}