From 85ee9d136f49cf4469bf24f9c64a6e0c9245a685 Mon Sep 17 00:00:00 2001 From: Joey de Vries Date: Wed, 7 Apr 2021 10:00:07 +0200 Subject: [PATCH] Use normalized cross product results for irradiance map generation in PBR tutorials. --- .../2.1.2.ibl_irradiance/2.1.2.irradiance_convolution.fs | 4 ++-- src/6.pbr/2.2.1.ibl_specular/2.2.1.irradiance_convolution.fs | 4 ++-- .../2.2.2.irradiance_convolution.fs | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) diff --git a/src/6.pbr/2.1.2.ibl_irradiance/2.1.2.irradiance_convolution.fs b/src/6.pbr/2.1.2.ibl_irradiance/2.1.2.irradiance_convolution.fs index 18a664e..2988f00 100644 --- a/src/6.pbr/2.1.2.ibl_irradiance/2.1.2.irradiance_convolution.fs +++ b/src/6.pbr/2.1.2.ibl_irradiance/2.1.2.irradiance_convolution.fs @@ -19,8 +19,8 @@ void main() // tangent space calculation from origin point vec3 up = vec3(0.0, 1.0, 0.0); - vec3 right = cross(up, N); - up = cross(N, right); + vec3 right = normalize(cross(up, N)); + up = normalize(cross(N, right)); float sampleDelta = 0.025; float nrSamples = 0.0; diff --git a/src/6.pbr/2.2.1.ibl_specular/2.2.1.irradiance_convolution.fs b/src/6.pbr/2.2.1.ibl_specular/2.2.1.irradiance_convolution.fs index 16f4f1e..9c660ba 100644 --- a/src/6.pbr/2.2.1.ibl_specular/2.2.1.irradiance_convolution.fs +++ b/src/6.pbr/2.2.1.ibl_specular/2.2.1.irradiance_convolution.fs @@ -14,8 +14,8 @@ void main() // tangent space calculation from origin point vec3 up = vec3(0.0, 1.0, 0.0); - vec3 right = cross(up, N); - up = cross(N, right); + vec3 right = normalize(cross(up, N)); + up = normalize(cross(N, right)); float sampleDelta = 0.025; float nrSamples = 0.0f; diff --git a/src/6.pbr/2.2.2.ibl_specular_textured/2.2.2.irradiance_convolution.fs b/src/6.pbr/2.2.2.ibl_specular_textured/2.2.2.irradiance_convolution.fs index 16f4f1e..9c660ba 100644 --- a/src/6.pbr/2.2.2.ibl_specular_textured/2.2.2.irradiance_convolution.fs +++ b/src/6.pbr/2.2.2.ibl_specular_textured/2.2.2.irradiance_convolution.fs @@ -14,8 +14,8 @@ void main() // tangent space calculation from origin point vec3 up = vec3(0.0, 1.0, 0.0); - vec3 right = cross(up, N); - up = cross(N, right); + vec3 right = normalize(cross(up, N)); + up = normalize(cross(N, right)); float sampleDelta = 0.025; float nrSamples = 0.0f;