// Copyright (C) 2018 Tomasz Kramkowski // SPDX-License-Identifier: MIT #version 330 core out vec4 color; in vec3 vnorm; in vec3 fpos; in vec3 lipos; void main() { vec3 objco = vec3(1.0, 0.5, 0.31); vec3 lico = vec3(1.0, 1.0, 1.0); float amb = 0.1; vec3 norm = normalize(vnorm); 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); }