- vec3 normal;
- if (material.hasNormalMap) {
- normal = texture(material.normalMap, texCoord).rgb;
+vec4 refraction() {
+ float ratio = 1.f / material.refractiveIndex;
+ vec3 I = normalize(worldFragPos - worldViewPos);
+ vec3 R = refract(I, normalize(worldNormal), ratio);
+ return vec4(texture(skybox, R).rgb, 1);
+}
+
+void main() {
+ vec3 normal = texture(material.normalMap, texCoord).rgb;