aboutsummaryrefslogtreecommitdiff
path: root/shaders/view_normal_mapped_normals.vert
blob: 004ed9a0b3898fbe24c35b1fff16ebb7d1043e8a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
precision highp float;

uniform mat4 Modelview;
uniform mat4 Projection;

layout (location = 0) in vec3 vPosition;
layout (location = 1) in vec3 vNormal;
layout (location = 2) in vec4 vTangent;
layout (location = 3) in vec2 vTexcoord;

out vec3 Normal;
out vec4 Tangent;
out vec3 Bitangent; // TODO: Compute here or in PS?
out vec2 Texcoord;

void main() {
  Texcoord = vTexcoord;
  Normal = mat3(Modelview) * vNormal;
  Tangent = vec4(mat3(Modelview) * vTangent.xyz, vTangent.w);
  Bitangent = cross(Normal, Tangent.xyz) * vTangent.w;
  gl_Position = Projection * Modelview * vec4(vPosition, 1.0);
}