diff options
author | Tomasz Kramkowski <tk@the-tk.com> | 2018-10-22 01:47:07 +0300 |
---|---|---|
committer | Tomasz Kramkowski <tk@the-tk.com> | 2018-10-22 01:47:07 +0300 |
commit | accfd0b069897c1a07b7ee7dd1f35a345fb76c30 (patch) | |
tree | d073a602daa15b6c9578bfc776fa979cf6b4c3e2 /shaders/main/frag.glsl | |
parent | 06d028e6a6b7d32de7201b2acfec7e54d08103dc (diff) | |
download | faqe-accfd0b069897c1a07b7ee7dd1f35a345fb76c30.tar.gz faqe-accfd0b069897c1a07b7ee7dd1f35a345fb76c30.tar.xz faqe-accfd0b069897c1a07b7ee7dd1f35a345fb76c30.zip |
main shader: Use an interface block for neatness
Diffstat (limited to 'shaders/main/frag.glsl')
-rw-r--r-- | shaders/main/frag.glsl | 20 |
1 files changed, 11 insertions, 9 deletions
diff --git a/shaders/main/frag.glsl b/shaders/main/frag.glsl index 8aa9a6a..f6ed7c3 100644 --- a/shaders/main/frag.glsl +++ b/shaders/main/frag.glsl @@ -2,25 +2,27 @@ * Copyright (C) 2018 Tomasz Kramkowski <tk@the-tk.com> * SPDX-License-Identifier: MIT */ -in vec3 fnorm; -in vec3 fpos; -in vec2 fuv; -in vec3 lipos; +in iface { + vec3 norm; + vec3 pos; + vec2 uv; + vec3 lipos; +} i; void main() { - vec3 fdiff = vec3(texture(tdiff, fuv)); - vec3 fspec = vec3(texture(tspec, fuv)); + vec3 fdiff = vec3(texture(tdiff, i.uv)); + vec3 fspec = vec3(texture(tspec, i.uv)); vec3 lico = vec3(1.0, 1.0, 1.0); vec3 amb = vec3(0.1, 0.1, 0.1); - vec3 norm = normalize(fnorm); - vec3 lidir = normalize(lipos - fpos); + vec3 norm = normalize(i.norm); + vec3 lidir = normalize(i.lipos - i.pos); vec3 diff = max(dot(norm, lidir), 0.0) * fdiff; float specen = max(sign(dot(lidir, norm)), 0.0); - vec3 vwdir = normalize(-fpos); + vec3 vwdir = normalize(-i.pos); vec3 mid = normalize(lidir + vwdir); vec3 spec = pow(max(dot(norm, mid), 0.0), 256) * specen * fspec; |