Гамма-коррекция
This commit is contained in:
@@ -10,6 +10,11 @@ layout(std140, binding = 1) uniform Material
|
||||
|
||||
in vec3 pos_local;
|
||||
|
||||
layout(std140, binding = 4) uniform gamma
|
||||
{
|
||||
float inv_gamma;
|
||||
};
|
||||
|
||||
out vec4 color;
|
||||
|
||||
uniform float angle;
|
||||
@@ -19,7 +24,7 @@ void main()
|
||||
{
|
||||
float cosA = dot(normalize(pos_local), normalize(direction));
|
||||
if (degrees(acos(cosA)) <= angle)
|
||||
color = vec4(ka, 1);
|
||||
color = vec4(pow(ka, vec3(inv_gamma)), 1);
|
||||
else
|
||||
discard;
|
||||
}
|
||||
@@ -41,6 +41,11 @@ uniform sampler2DArray sunShadowDepth;
|
||||
uniform samplerCubeArray pointShadowDepth;
|
||||
uniform sampler2D ssao;
|
||||
|
||||
layout(std140, binding = 4) uniform gamma
|
||||
{
|
||||
float inv_gamma;
|
||||
};
|
||||
|
||||
out vec4 color;
|
||||
|
||||
void main()
|
||||
@@ -190,4 +195,7 @@ void main()
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Применение гамма-коррекции
|
||||
color.rgb = pow(color.rgb, vec3(inv_gamma));
|
||||
}
|
||||
@@ -1,12 +1,17 @@
|
||||
#version 330 core
|
||||
#version 420 core
|
||||
out vec4 FragColor;
|
||||
|
||||
in vec3 TexCoords;
|
||||
|
||||
uniform samplerCube skybox;
|
||||
|
||||
layout(std140, binding = 4) uniform gamma
|
||||
{
|
||||
float inv_gamma;
|
||||
};
|
||||
|
||||
void main()
|
||||
{
|
||||
FragColor = texture(skybox, TexCoords);
|
||||
FragColor.rgb = pow(texture(skybox, TexCoords).rgb, vec3(inv_gamma));
|
||||
gl_FragDepth = 0.9999f;
|
||||
}
|
||||
Reference in New Issue
Block a user