1
0
mirror of synced 2024-12-11 23:36:01 +01:00
Switch-Toolbox/Toolbox/Shader/Layout/Legacy/Bflyt.vert
KillzXGaming 0f19107dd2 More layout editor improvements
Window panes render near perfectly aside from materials. Update fixes the texture flip flags and other uv fixes,
Fixed UV transformation issues. Commonly when a uv is suppose to be centered but it shifts wrong.
Add basic white and black color blending.
Fix LA8 texture rendering.
Start on BRLAN support.
2019-09-18 18:23:27 -04:00

39 lines
1.1 KiB
GLSL

uniform vec2 uvScale0;
uniform vec2 uvRotate0;
uniform vec2 uvTranslate0;
uniform int flipTexture;
vec2 rotateUV(vec2 uv, float rotation)
{
float mid = 0.5;
return vec2(
cos(rotation) * (uv.x - mid) + sin(rotation) * (uv.y - mid) + mid,
cos(rotation) * (uv.y - mid) - sin(rotation) * (uv.x - mid) + mid
);
}
vec2 SetFlip(vec2 tex)
{
vec2 outTexCoord = tex;
if (flipTexture == 1) //FlipH
return vec2(-1, 1) * tex + vec2(1, 0);
else if (flipTexture == 2) //FlipV
return vec2(1, -1) * tex + vec2(0, 1);
else if (flipTexture == 3) //Rotate90
return rotateUV(tex, radians(90.0));
else if (flipTexture == 4) //Rotate180
return rotateUV(tex, radians(180.0));
else if (flipTexture == 5) //Rotate270
return rotateUV(tex, radians(270.0));
return outTexCoord;
}
void main()
{
gl_FrontColor = gl_Color;
vec2 texCoord0 = vec2(0.5, 0.5) + uvScale0 * (gl_MultiTexCoord0.xy + (uvTranslate0 / uvScale0 - 0.5));
gl_TexCoord[0].st = SetFlip(texCoord0);
gl_Position = gl_ModelViewProjectionMatrix * gl_Vertex;
}