From c6defdf1ef0eb9c00492ac58ef71b2dca11f0da6 Mon Sep 17 00:00:00 2001 From: baldurk Date: Tue, 26 Jul 2016 12:47:19 +0200 Subject: [PATCH] Fix vertex picking on Vulkan (proper accounting for inverted NDCs). --- renderdoc/data/glsl/mesh.comp | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/renderdoc/data/glsl/mesh.comp b/renderdoc/data/glsl/mesh.comp index 81ae3e9a9..9d994a957 100644 --- a/renderdoc/data/glsl/mesh.comp +++ b/renderdoc/data/glsl/mesh.comp @@ -53,16 +53,16 @@ void main() vec4 pos = vb.data[idx]; +#ifdef VULKAN + if(meshpick.unproject == 1u) + pos = vec4(pos.x, -pos.y, pos.z, pos.w); +#endif + vec4 wpos = meshpick.mvp * pos; wpos.xyz /= wpos.www; -#ifdef VULKAN - if(meshpick.unproject == 0u) - wpos.xy *= vec2(1.0f, -1.0f); -#else // OPENGL wpos.xy *= vec2(1.0f, -1.0f); -#endif vec2 scr = (wpos.xy + 1.0f) * 0.5f * meshpick.viewport;