readme
This commit is contained in:
@@ -0,0 +1,35 @@
|
||||
#version 330 core
|
||||
layout (location = 0) out vec3 gPosition;
|
||||
layout (location = 1) out vec3 gNormal;
|
||||
layout (location = 2) out vec4 gAlbedo; // linear rgb + alpha
|
||||
layout (location = 3) out vec4 gMaterial; // r = metallic, g = roughness, b = ao, a = emissive
|
||||
|
||||
in vec3 FragPos;
|
||||
in vec3 Normal;
|
||||
in vec2 TexCoord;
|
||||
|
||||
uniform sampler2D tex;
|
||||
uniform vec4 colorOverride = vec4(0.0);
|
||||
uniform int useTexture = 0;
|
||||
uniform float metallic = 0.0;
|
||||
uniform float roughness = 0.7;
|
||||
uniform float ao = 1.0;
|
||||
uniform float emissive = 0.0;
|
||||
|
||||
void main()
|
||||
{
|
||||
vec4 albedo = vec4(0.8, 0.8, 0.8, 1.0);
|
||||
if (useTexture != 0) {
|
||||
albedo = texture(tex, TexCoord);
|
||||
if (albedo.a < 0.1)
|
||||
discard;
|
||||
albedo.rgb = albedo.rgb * albedo.rgb; // same cheap 2.2 stand-in as the lighting shaders
|
||||
}
|
||||
|
||||
albedo.rgb = mix(albedo.rgb, colorOverride.rgb, colorOverride.w);
|
||||
|
||||
gPosition = FragPos;
|
||||
gNormal = normalize(Normal);
|
||||
gAlbedo = albedo;
|
||||
gMaterial = vec4(clamp(metallic, 0.0, 1.0), clamp(roughness, 0.04, 1.0), ao, clamp(emissive, 0.0, 1.0));
|
||||
}
|
||||
Reference in New Issue
Block a user