X-Git-Url: http://git.tdb.fi/?a=blobdiff_plain;f=shaderlib%2Fcooktorrance.glsl;h=5e933d5a55239d7db0fb18a35b068c2b768975f2;hb=7c797f8445ab02381e358472755e94e5c5125252;hp=1c564a04557a39b3b0ab951b8c2b86acb7f4b32e;hpb=4595453156db0c47926946b0ea1732b1e37e70ce;p=libs%2Fgl.git diff --git a/shaderlib/cooktorrance.glsl b/shaderlib/cooktorrance.glsl index 1c564a04..5e933d5a 100644 --- a/shaderlib/cooktorrance.glsl +++ b/shaderlib/cooktorrance.glsl @@ -6,6 +6,7 @@ import shadow; struct PbrMaterialParameters { vec4 base_color; + vec4 tint; vec4 emission; float metalness; float roughness; @@ -36,9 +37,9 @@ layout(constant_id=auto) const bool use_image_based_lighting = false; virtual vec4 get_base_color() { if(use_base_color_map) - return texture(base_color_map, texcoord.xy); + return texture(base_color_map, texcoord.xy)*pbr_material.tint; else - return pbr_material.base_color; + return pbr_material.base_color*pbr_material.tint; } virtual float get_metalness_value() @@ -152,7 +153,7 @@ vec3 cooktorrance_environment(vec3 normal, vec3 look, vec3 base_color, float met return (k_diff*base_color+k_spec)*ambient_color.rgb; } -vec3 cooktorrance_lighting(vec3 normal, vec3 look, vec3 base_color, float metalness, float roughness) +vec3 cooktorrance_lighting(vec3 normal, vec3 look, vec3 base_color, float metalness, float roughness, float occlusion) { vec3 color = vec3(0.0); for(int i=0; i