SparrowRenderer/shaders/skybox.frag.glsl

31 lines
738 B
GLSL

#version 330 core
// - Position in view space
layout (location = 0) out vec4 outPosition;
// - Albedo + Roughness
layout (location = 1) out vec4 outAlbedo;
// - Normal buffer
layout (location = 2) out vec3 outNormal;
// - Emission + Metallic
layout (location = 3) out vec4 outEmission;
in vec3 varTexCoord;
in vec4 posInView;
out vec4 outColor;
uniform samplerCube skybox;
uniform float skybox_distance;
void main()
{
outPosition = posInView;
outPosition.z = -skybox_distance;
outAlbedo.rgb = vec3(0., 0., 0.); // black
outAlbedo.a = 1.; // full roughness
outEmission.a = 0.; // not metallic
outNormal = vec3(0., 0., 1.); // oriented towards the eye
outEmission.rgb = texture(skybox, varTexCoord).rgb;
}