summaryrefslogtreecommitdiffstats
path: root/res/raw/pv5tex.glslv
blob: 998f209947203662e438fab3dd7c1f6ff528c439 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
varying vec2 varTex0;
varying vec2 varTex1;
varying vec2 varTex2;
varying vec2 varTex3;
varying vec2 varTex4;

vec2 mul(vec4 uni, vec2 attr, float idx)
{
    float invz = 0.5 + idx*0.05;
    return vec2(
        0.5 + 0.5 * invz * (uni.z * ( uni.y * attr.x + uni.x * attr.y)) + uni.w,
        0.5 + 0.5 * invz * (uni.z * (-uni.x * attr.x + uni.y * attr.y)));
}

void main() {
    varTex0 = mul(UNI_layer0, ATTRIB_position.xy, 1.0);
    varTex1 = mul(UNI_layer1, ATTRIB_position.xy, 2.0);
    varTex2 = mul(UNI_layer2, ATTRIB_position.xy, 3.0);
    varTex3 = mul(UNI_layer3, ATTRIB_position.xy, 4.0);
    varTex4 = mul(UNI_layer4, ATTRIB_position.xy, 5.0);
    gl_Position = ATTRIB_position;
}