diff options
author | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2017-08-27 17:24:28 +0200 |
---|---|---|
committer | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-01-13 03:39:28 +0100 |
commit | 04ab1a3420b46af046a898ee5510e0d9b25ed24c (patch) | |
tree | 4e9d300bb38d434305d00337535c7c4077bc57c4 /cwd/shaders | |
parent | 2017-08-23 (diff) | |
download | AltCraft-04ab1a3420b46af046a898ee5510e0d9b25ed24c.tar AltCraft-04ab1a3420b46af046a898ee5510e0d9b25ed24c.tar.gz AltCraft-04ab1a3420b46af046a898ee5510e0d9b25ed24c.tar.bz2 AltCraft-04ab1a3420b46af046a898ee5510e0d9b25ed24c.tar.lz AltCraft-04ab1a3420b46af046a898ee5510e0d9b25ed24c.tar.xz AltCraft-04ab1a3420b46af046a898ee5510e0d9b25ed24c.tar.zst AltCraft-04ab1a3420b46af046a898ee5510e0d9b25ed24c.zip |
Diffstat (limited to 'cwd/shaders')
-rw-r--r-- | cwd/shaders/gui.fs | 21 | ||||
-rw-r--r-- | cwd/shaders/gui.vs | 27 |
2 files changed, 48 insertions, 0 deletions
diff --git a/cwd/shaders/gui.fs b/cwd/shaders/gui.fs new file mode 100644 index 0000000..95196b9 --- /dev/null +++ b/cwd/shaders/gui.fs @@ -0,0 +1,21 @@ +#version 330 core + +in vec2 uv; + +uniform vec4 widgetTexture; +uniform sampler2D textureAtlas; + +vec2 TransformTextureCoord(vec4 TextureAtlasCoords, vec2 UvCoords) { + float x = TextureAtlasCoords.x; + float y = TextureAtlasCoords.y; + float w = TextureAtlasCoords.z; + float h = TextureAtlasCoords.w; + vec2 A = vec2(x, 1 - y - h); + vec2 B = vec2(x + w, 1 - y); + return A + UvCoords * (B - A); +} + +void main(){ + vec4 color = texture(textureAtlas,TransformTextureCoord(widgetTexture,uv)); + gl_FragColor = color; +}
\ No newline at end of file diff --git a/cwd/shaders/gui.vs b/cwd/shaders/gui.vs new file mode 100644 index 0000000..b6f848b --- /dev/null +++ b/cwd/shaders/gui.vs @@ -0,0 +1,27 @@ +#version 330 core + +uniform vec4 transform; + +layout (location = 0) in vec3 position; +layout (location = 1) in vec2 UvCoordinates; + +out vec2 uv; + +vec2 TransfromWidgetCoord() { + vec2 origin = vec2((transform.x * 2.0f) - 1.0f, (0.5 - transform.y) * 2.0f); + + float x = transform.x; + float y = transform.y; + float w = transform.z; + float h = transform.w; + vec2 A = vec2(x, 1 - y - h); + vec2 B = vec2(x + w, 1 - y); + vec2 ret = vec2(A + position.xy * (B - A)); + return vec2(ret.x-1.0f,ret.y); +} + +void main(){ + uv = UvCoordinates; + + gl_Position = vec4(TransfromWidgetCoord(),0,1); +}
\ No newline at end of file |