CSC8503_Advanced_Game_Technologies / Assets / 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);
}