/* * Copyright (C) 2018 Tomasz Kramkowski * SPDX-License-Identifier: MIT */ #version 330 core out vec4 color; in vec3 fnorm; in vec3 fpos; in vec2 fuv; in vec3 lipos; uniform sampler2D tex; void main() { vec3 objco = vec3(texture(tex, fuv)); vec3 lico = vec3(1.0, 1.0, 1.0); float amb = 0.1; vec3 norm = normalize(fnorm); vec3 lidir = normalize(lipos - fpos); float dif = max(dot(norm, lidir), 0.0); float spestr = 0.5; vec3 vwdir = normalize(-fpos); vec3 redir = reflect(-lidir, norm); float spe = spestr * pow(max(dot(vwdir, redir), 0.0), 32); color = vec4((amb + dif + spe) * lico * objco, 1.0); }