aboutsummaryrefslogtreecommitdiff
path: root/shaders/basic.vert
blob: a51115c893af44e5cd4e49d7010123cd408609da (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
#version 150
#extension GL_ARB_explicit_attrib_location : enable
#extension GL_ARB_explicit_uniform_location : enable

layout(location = 0) in vec3 in_position ;
layout(location = 2) in vec4 in_color ;
layout(location = 1) in vec3 in_normal ;
layout(location = 3) in vec2 in_texcoord ;

uniform mat4 pjMatrix ;
uniform mat4 mvMatrix ;
uniform mat3 normalMatrix ;

out vec2 texcoord ;
out vec4 position ;
out vec3 normal ;

out float texture_blend[8] ;
flat out int texidx ;

void main() {
    gl_Position = pjMatrix * (position = mvMatrix * vec4(in_position,1.0)) ;
    texcoord = in_texcoord ;
    normal = normalMatrix * in_normal ;
    for ( int i = 0 ; i < 8 ; ++ i ) 
        texture_blend[i] = 0 ;
    texidx = int(clamp(round(in_color.a),0,8));
    texture_blend[texidx] = 1.0 ;
}