LearnOpenGL/shader.fs

40 lines
807 B
Forth
Raw Normal View History

2022-02-11 21:24:15 +00:00
#version 460 core
out vec4 FragColor;
2022-10-16 18:27:25 +00:00
in vec3 Normal;
in vec3 Position;
2022-10-16 18:27:25 +00:00
uniform vec3 cameraPos;
uniform samplerCube skybox;
2022-10-16 18:14:06 +00:00
in vec2 TexCoords;
uniform sampler2D texture_diffuse1;
2022-02-16 19:32:55 +00:00
2022-10-16 18:44:48 +00:00
const float air_ri = 1.00;
const float water_ri = 1.33;
const float Ice_ri = 1.309;
const float glass_ri = 1.52;
const float diamond_ri = 2.42;
void main()
{
2022-10-16 18:44:48 +00:00
// Regular shading
// texture( texture_diffuse1, TexCoords) ;
// Reflective shading
/*
2022-10-16 18:27:25 +00:00
vec3 I = normalize(Position - cameraPos);
vec3 R = reflect(I, normalize(Normal));
2022-10-16 18:44:48 +00:00
FragColor = vec4(texture(skybox,R).rgb, 1.0);
*/
// Refractive shading
float ratio = air_ri/water_ri;
vec3 I = normalize(Position-cameraPos);
vec3 R = refract(I, normalize(Normal), ratio);
FragColor = vec4(texture(skybox, R).rgb, 1.0);
2022-02-11 21:24:15 +00:00
}