three 0.3.0

Three.js inspired 3D engine in Rust
Documentation
#version 150 core
#include <globals>

out vec3 v_TexCoord;

void main() {
    vec2 pos = gl_VertexID == 0 ? vec2(-1.0, -1.0) :
               gl_VertexID == 1 ? vec2(-1.0,  1.0) :
               gl_VertexID == 3 ? vec2( 1.0,  1.0) :
                                  vec2( 1.0, -1.0) ;

    vec4 a_Position = vec4(pos.xy, 1.0, 1.0);

    mat3 inverseView = transpose(mat3(u_View));
    vec3 unprojected = (u_InverseProj * a_Position).xyz;

    v_TexCoord = inverseView * unprojected;

    gl_Position = a_Position;
}