diff options
Diffstat (limited to 'source/lessons/cubemaps/shaders/refr.fs.glsl')
-rw-r--r-- | source/lessons/cubemaps/shaders/refr.fs.glsl | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/source/lessons/cubemaps/shaders/refr.fs.glsl b/source/lessons/cubemaps/shaders/refr.fs.glsl new file mode 100644 index 0000000..6747ded --- /dev/null +++ b/source/lessons/cubemaps/shaders/refr.fs.glsl @@ -0,0 +1,15 @@ +#version 330 core + +in vec3 Normal; +in vec3 Position; + +uniform samplerCube skybox; +uniform vec3 cameraPos; +out vec4 FragColor; + +void main() { + float refr_ratio = 1.0/1.52; + vec3 I = normalize(Position - cameraPos); + vec3 R = refract(I, normalize(Normal), refr_ratio); + FragColor = vec4(texture(skybox, R).rgb, 1.0); +}; |