From 4847bcdbe10b4f7f84657749a651c3af3a430b1c Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Cl=C3=A9ment=20Foucault?= Date: Sat, 1 Oct 2022 20:55:00 +0200 Subject: DRW: Split ViewProjectionMatrix in order to increase precision This also removes the need to compute the persmat and saves some memory from the `ViewInfos` struct. This is needed to allow multiview support. Initial testing found no major performance regression during vertex heavy workload. Differential Revision: https://developer.blender.org/D16125 --- source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl') diff --git a/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl b/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl index dd047709afd..9422cb726b7 100644 --- a/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl +++ b/source/blender/draw/engines/eevee_next/shaders/eevee_nodetree_lib.glsl @@ -344,7 +344,7 @@ vec3 coordinate_screen(vec3 P) } else { /* TODO(fclem): Actual camera transform. */ - window.xy = project_point(ViewProjectionMatrix, P).xy * 0.5 + 0.5; + window.xy = project_point(ProjectionMatrix, transform_point(ViewMatrix, P)).xy * 0.5 + 0.5; window.xy = window.xy * CameraTexCoFactors.xy + CameraTexCoFactors.zw; } return window; -- cgit v1.2.3