diff options
Diffstat (limited to 'source/blender/gpu/shaders')
-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); } |