diff options
author | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-08-05 01:40:01 +0200 |
---|---|---|
committer | LaG1924 <12997935+LaG1924@users.noreply.github.com> | 2018-08-05 01:40:01 +0200 |
commit | c0b81150298ce9f2f21da42f26a57fe59a93bb77 (patch) | |
tree | 15304e4c36093a5beb524e67c976a241c5c556f3 /cwd/shaders/face.vs | |
parent | Implemented texture atlas (diff) | |
download | AltCraft-c0b81150298ce9f2f21da42f26a57fe59a93bb77.tar AltCraft-c0b81150298ce9f2f21da42f26a57fe59a93bb77.tar.gz AltCraft-c0b81150298ce9f2f21da42f26a57fe59a93bb77.tar.bz2 AltCraft-c0b81150298ce9f2f21da42f26a57fe59a93bb77.tar.lz AltCraft-c0b81150298ce9f2f21da42f26a57fe59a93bb77.tar.xz AltCraft-c0b81150298ce9f2f21da42f26a57fe59a93bb77.tar.zst AltCraft-c0b81150298ce9f2f21da42f26a57fe59a93bb77.zip |
Diffstat (limited to 'cwd/shaders/face.vs')
-rw-r--r-- | cwd/shaders/face.vs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/cwd/shaders/face.vs b/cwd/shaders/face.vs index 5431ff2..9c40846 100644 --- a/cwd/shaders/face.vs +++ b/cwd/shaders/face.vs @@ -5,10 +5,11 @@ layout (location = 7) in vec4 Texture; layout (location = 8) in mat4 model; layout (location = 12) in vec3 color; layout (location = 13) in vec2 light; +layout (location = 14) in float TextureLayer; out VS_OUT { vec2 UvPosition; - vec2 Texture; + vec3 Texture; vec3 Color; vec2 Light; } vs_out; @@ -17,14 +18,15 @@ out VS_OUT { //uniform mat4 projection; uniform mat4 projView; -vec2 TransformTextureCoord(vec4 TextureAtlasCoords, vec2 UvCoords) { +vec3 TransformTextureCoord(vec4 TextureAtlasCoords, vec2 UvCoords, float Layer) { 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); + vec2 transformed = A + UvCoords * (B - A); + return vec3(transformed.x, transformed.y, Layer); } void main() @@ -33,7 +35,7 @@ void main() gl_Position = projView * model * sourcePosition; vs_out.UvPosition = vec2(UvCoordinates.x,UvCoordinates.y); - vs_out.Texture = TransformTextureCoord(Texture,UvCoordinates); + vs_out.Texture = TransformTextureCoord(Texture,UvCoordinates,TextureLayer); vs_out.Color = color; vs_out.Light = light; } |