From 154436ab88925540f86f43c0ac885c080949aa9b Mon Sep 17 00:00:00 2001 From: Jonathan Bradley Date: Tue, 19 Aug 2025 13:51:40 -0400 Subject: pke: ui box type button image --- assets/shaders/ui-base.frag | 2 +- assets/shaders/ui-base.vert | 5 +++-- assets/shaders/ui-txtr.frag | 15 +++++++++++++++ 3 files changed, 19 insertions(+), 3 deletions(-) create mode 100644 assets/shaders/ui-txtr.frag (limited to 'assets') diff --git a/assets/shaders/ui-base.frag b/assets/shaders/ui-base.frag index b056368..815e1c8 100644 --- a/assets/shaders/ui-base.frag +++ b/assets/shaders/ui-base.frag @@ -3,7 +3,7 @@ layout(location = 0) in vec4 in_border_color; layout(location = 1) in vec4 in_background_color; layout(location = 2) in vec2 in_px_scale; -layout(location = 3) in vec2 in_uv; +layout(location = 3) in vec3 in_uv; layout(location = 0) out vec4 out_color; diff --git a/assets/shaders/ui-base.vert b/assets/shaders/ui-base.vert index c492a36..61cddaa 100644 --- a/assets/shaders/ui-base.vert +++ b/assets/shaders/ui-base.vert @@ -10,11 +10,12 @@ layout(location = 6) in vec4 in_border_color; layout(location = 7) in vec4 in_background_color; layout(location = 8) in vec2 px_scale; layout(location = 9) in float depth; +layout(location = 10) in float texture_layer; layout(location = 0) out vec4 out_border_color; layout(location = 1) out vec4 out_background_color; layout(location = 2) out vec2 out_px_scale; -layout(location = 3) out vec2 out_uv; +layout(location = 3) out vec3 out_uv; out gl_PerVertex { @@ -28,5 +29,5 @@ void main() out_border_color = in_border_color; out_background_color = in_background_color; out_px_scale = px_scale; - out_uv = in_uv; + out_uv = vec3(in_uv, texture_layer); } diff --git a/assets/shaders/ui-txtr.frag b/assets/shaders/ui-txtr.frag new file mode 100644 index 0000000..5ca55ba --- /dev/null +++ b/assets/shaders/ui-txtr.frag @@ -0,0 +1,15 @@ +# version 450 + +// layout(location = 0) in vec4 in_border_color; +// layout(location = 1) in vec4 in_background_color; +// layout(location = 2) in vec2 in_px_scale; +layout(location = 3) in vec3 in_uv; + +layout(location = 0) out vec4 out_color; + +layout(binding = 0) uniform sampler2DArray texture_sampler; + +void main() { + vec4 color = texture(texture_sampler, in_uv.xyz); + out_color = color; +} -- cgit v1.2.3