From 922372b582c07a849c0091a9497e27dcfc95e0e8 Mon Sep 17 00:00:00 2001 From: Ed_ Date: Wed, 11 Sep 2024 15:11:24 -0400 Subject: [PATCH] Fixes for uv coords on shaders when compiling for opengl vs directx --- .gitignore | 3 +++ backend/sokol/draw_text.shdc.glsl | 6 +++++- backend/sokol/source_shared.shdc.glsl | 6 +++++- scripts/compile_sokol_shaders.sh | 6 +++--- 4 files changed, 16 insertions(+), 5 deletions(-) diff --git a/.gitignore b/.gitignore index ce40f18..585b68f 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,6 @@ build thirdparty .vscode +backend/sokol/render_glyph.odin +backend/sokol/blit_atlas.odin +backend/sokol/draw_text.odin diff --git a/backend/sokol/draw_text.shdc.glsl b/backend/sokol/draw_text.shdc.glsl index 0ff756b..264039d 100644 --- a/backend/sokol/draw_text.shdc.glsl +++ b/backend/sokol/draw_text.shdc.glsl @@ -10,7 +10,11 @@ out vec2 uv; void main() { - uv = vec2( v_texture.x, 1 - v_texture.y ); +#if SOKOL_GLSL + uv = vec2( v_texture.x, v_texture.y ); +#else + uv = vec2( v_texture.x, 1.0 - v_texture.y ); +#endif gl_Position = vec4( v_position * 2.0f - 1.0f, 0.0f, 1.0f ); } @end diff --git a/backend/sokol/source_shared.shdc.glsl b/backend/sokol/source_shared.shdc.glsl index e3ab25a..2d30f5d 100644 --- a/backend/sokol/source_shared.shdc.glsl +++ b/backend/sokol/source_shared.shdc.glsl @@ -5,6 +5,10 @@ out vec2 uv; void main() { - uv = vec2( v_texture.x, 1 - v_texture.y ); +#if SOKOL_GLSL + uv = vec2( v_texture.x, v_texture.y ); +#else + uv = vec2( v_texture.x, 1.0 - v_texture.y ); +#endif gl_Position = vec4( v_position, 0.0, 1.0 ); } diff --git a/scripts/compile_sokol_shaders.sh b/scripts/compile_sokol_shaders.sh index 695e215..743e605 100644 --- a/scripts/compile_sokol_shaders.sh +++ b/scripts/compile_sokol_shaders.sh @@ -29,17 +29,17 @@ pushd "$path_backend_sokol" > /dev/null "$sokol_shdc" "$flag_input" "$shadersrc_blit_atlas" \ "$flag_output" "$shaderout_blit_atlas" \ - "$flag_target_lang" "glsl410:glsl300es:hlsl4:metal_macos:wgsl" \ + "$flag_target_lang" "glsl410:glsl300es:metal_macos:wgsl" \ "$flag_format_odin" "$flag_module=blit_atlas" "$sokol_shdc" "$flag_input" "$shadersrc_render_glyph" \ "$flag_output" "$shaderout_render_glyph" \ - "$flag_target_lang" "glsl410:glsl300es:hlsl4:metal_macos:wgsl" \ + "$flag_target_lang" "glsl410:glsl300es:metal_macos:wgsl" \ "$flag_format_odin" "$flag_module=render_glyph" "$sokol_shdc" "$flag_input" "$shadersrc_draw_text" \ "$flag_output" "$shaderout_draw_text" \ - "$flag_target_lang" "glsl410:glsl300es:hlsl4:metal_macos:wgsl" \ + "$flag_target_lang" "glsl410:glsl300es:metal_macos:wgsl" \ "$flag_format_odin" "$flag_module=draw_text" popd > /dev/null