CSC8502_Advanced_Graphics_For_Games / Shaders / skyboxVertex.glsl
skyboxVertex.glsl
Raw
#version 330 core
uniform mat4 modelMatrix;
uniform mat4 viewMatrix;
uniform mat4 projMatrix;
in vec3 position;

out Vertex{
	vec3 viewDir;
} OUT;

void main(void){
	vec3 pos = position;
	mat4 invproj = inverse(projMatrix);
	pos.xy *= vec2(invproj[0][0], invproj[1][1]);
	pos.z = -1.0f;
	OUT.viewDir = transpose(mat3(viewMatrix)) * normalize(pos);
	gl_Position = vec4(position, 1.0);
}