31 lines
738 B
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;
|
|
}
|