attribute vec3 in_pos; attribute vec3 in_norm; attribute vec2 in_uv; varying vec3 norm; varying vec2 uv; varying vec3 frag_pos; uniform mat4 proj; uniform mat4 view; uniform mat4 model; void main() { gl_Position = proj * view * model * vec4(in_pos, 1.0); norm = in_norm; uv = in_uv; frag_pos = vec3(model * vec4(in_pos, 1.0)); }