aboutsummaryrefslogtreecommitdiffstats
path: root/frag.glsl
blob: 41d98adc7a9bf318c51fdebecaa0c1ec0f8a6a80 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
// Copyright (C) 2018 Tomasz Kramkowski <tk@the-tk.com>
// SPDX-License-Identifier: MIT
#version 330 core
out vec4 color;
in vec3 vnorm;
in vec3 fpos;
in vec3 lipos;

void main()
{
	vec3 objco = { 1.0, 0.5, 0.31 };
	vec3 lico = { 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);
}