pbr_shader.vsh 713 Bytes
#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);

}