bgfx/examples/39-assao/fs_assao_deferred_combine.sc
2018-12-14 22:09:37 +01:00

43 lines
868 B
Scala

$input v_texcoord0
/*
* Copyright 2018 Attila Kocsis. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
#include "../common/common.sh"
SAMPLER2D(s_color, 0);
SAMPLER2D(s_normal, 1);
SAMPLER2D(s_ao, 2);
uniform vec4 u_combineParams[2];
void main()
{
vec2 tc0 = v_texcoord0 * u_combineParams[1].xy + u_combineParams[1].zw;
vec3 albedoColor = vec3(1.0,1.0,1.0);
if (u_combineParams[0].x > 0.0)
{
albedoColor = texture2D(s_color, tc0).rgb;
}
float light = 1.0;
if (u_combineParams[0].x > 0.0)
{
vec3 n = texture2D(s_normal, tc0).xyz;
// Expand out normal
n = n*2.0-1.0;
vec3 l = normalize(vec3(-0.8,0.75,-1.0));
light = max(0.0,dot(n,l)) * 1.2+ 0.3;
}
float ao = 1.0;
if ( u_combineParams[0].y > 0.0)
{
ao = texture2D(s_ao, tc0).x;
}
gl_FragColor = vec4(albedoColor * light * ao, 1.0f);
}