diff options
Diffstat (limited to 'frag.glsl')
-rw-r--r-- | frag.glsl | 21 |
1 files changed, 19 insertions, 2 deletions
@@ -2,9 +2,26 @@ // SPDX-License-Identifier: MIT #version 330 core out vec4 color; -in vec3 vcolor; +in vec3 vnorm; +in vec3 fpos; +in vec3 lipos; void main() { - color = vec4(vcolor, 1.0); + 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); } |