21 lines
853 B
GLSL
21 lines
853 B
GLSL
#ifdef Use_Bindless_Texture
|
|
layout(bindless_sampler) uniform sampler2D DiffuseMap;
|
|
layout(bindless_sampler) uniform sampler2D SpecularMap;
|
|
layout(bindless_sampler) uniform sampler2D SSAO;
|
|
#else
|
|
uniform sampler2D DiffuseMap;
|
|
uniform sampler2D SpecularMap;
|
|
uniform sampler2D SSAO;
|
|
#endif
|
|
|
|
vec3 getLightFactor(vec3 diffuseMatColor, vec3 specularMatColor, float specMapValue, float emitMapValue)
|
|
{
|
|
vec2 tc = gl_FragCoord.xy / screen;
|
|
vec3 DiffuseComponent = texture(DiffuseMap, tc).xyz;
|
|
vec3 SpecularComponent = texture(SpecularMap, tc).xyz;
|
|
float ao = texture(SSAO, tc).x;
|
|
vec3 tmp = diffuseMatColor * DiffuseComponent * (1. - specMapValue) + specularMatColor * SpecularComponent * specMapValue;
|
|
vec3 emitCol = diffuseMatColor.xyz * diffuseMatColor.xyz * diffuseMatColor.xyz * 15.;
|
|
return tmp * ao + (emitMapValue * emitCol);
|
|
}
|