diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-06-07 19:14:16 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-06-07 19:14:16 +0300 |
commit | b568f445a52f22dcef57fed8b613d3a2dc2c7c22 (patch) | |
tree | 1ac5e4e1a1cacc8bbcd5b3b9d9175d9666564ecc /source/blender/gpu | |
parent | 391485f4120422e6a3140e027ce55d283e1dc660 (diff) |
Fix T98647: EEVEE: Camera Data Node's View Vector Broken
Fix regression and remove duplicated computation.
Diffstat (limited to 'source/blender/gpu')
-rw-r--r-- | source/blender/gpu/shaders/material/gpu_shader_material_camera.glsl | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_camera.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_camera.glsl index ff84a0a334c..b1a29833d77 100644 --- a/source/blender/gpu/shaders/material/gpu_shader_material_camera.glsl +++ b/source/blender/gpu/shaders/material/gpu_shader_material_camera.glsl @@ -1,6 +1,8 @@ void camera(out vec3 outview, out float outdepth, out float outdist) { - outdepth = abs(transform_point(ViewMatrix, g_data.P).z); - outdist = distance(g_data.P, cameraPos); - outview = normalize(g_data.P - cameraPos); + vec3 vP = transform_point(ViewMatrix, g_data.P); + vP.z = -vP.z; + outdepth = abs(vP.z); + outdist = length(vP); + outview = normalize(vP); } |