diff options
| author | Jonathan Goodman <geenz@lindenlab.com> | 2022-10-06 19:53:18 +0000 |
|---|---|---|
| committer | Jonathan Goodman <geenz@lindenlab.com> | 2022-10-06 19:53:18 +0000 |
| commit | a73b226f9ee1df4803da8acbcfcef579254a51a4 (patch) | |
| tree | 915f5afdaa373706f49e92424b30ffef4bd537b6 /indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl | |
| parent | db92f9564992b9910b21f3de57a584ccfa199e75 (diff) | |
| parent | 2b28fecf4893e103e99328e5b4a13c607498396d (diff) | |
Merged DRTVWR-559 into SL-18290
Diffstat (limited to 'indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl')
| -rw-r--r-- | indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl index bca4771c27..1c2034de69 100644 --- a/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl +++ b/indra/newview/app_settings/shaders/class1/deferred/deferredUtil.glsl @@ -310,16 +310,21 @@ vec4 getPosition(vec2 pos_screen) return pos; } +// get position given a normalized device coordinate +vec3 getPositionWithNDC(vec3 ndc) +{ + vec4 pos = inv_proj * vec4(ndc, 1.0); + return pos.xyz / pos.w; +} + vec4 getPositionWithDepth(vec2 pos_screen, float depth) { vec2 sc = getScreenCoordinate(pos_screen); - vec4 ndc = vec4(sc.x, sc.y, 2.0*depth-1.0, 1.0); - vec4 pos = inv_proj * ndc; - pos /= pos.w; - pos.w = 1.0; - return pos; + vec3 ndc = vec3(sc.x, sc.y, 2.0*depth-1.0); + return vec4(getPositionWithNDC(ndc), 1.0); } + vec2 getScreenXY(vec4 clip) { vec4 ndc = clip; |
