pbr_shader.vsh
713 Bytes
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
30
31
32
33
34
35
36
37
38
39
40
#version 300 es
in vec3 aPosition;
in vec2 aTexCoord;
in vec3 aNormal;
in vec3 aTangent;
out vec2 vUV;
out vec3 vNormal;
out vec3 vTangent;
out vec3 vBitangent;
out vec3 vViewVec;
out mat4 uCubeMatrix;
uniform vec3 uSize;
uniform mat4 uMvpMatrix;
uniform mat3 uNormalMatrix;
uniform mat4 uModelMatrix;
uniform mat4 uModelView;
uniform mat4 uViewMatrix;
void main()
{
vec4 vPosition = vec4( aPosition * uSize , 1.0);
gl_Position = uMvpMatrix * vPosition;
vUV = aTexCoord;
vNormal = normalize(uNormalMatrix * aNormal);
vTangent = normalize(uNormalMatrix * aTangent);
vBitangent = cross(vNormal, vTangent);
vViewVec = (uModelView * vPosition).xyz;
uCubeMatrix = transpose(uModelView);
}