mirror of
https://github.com/HifiExperiments/overte.git
synced 2025-07-24 01:34:08 +02:00
Lightclusters no unpack position from zdb
This commit is contained in:
parent
6f7a1eaefa
commit
02cf15d115
3 changed files with 10 additions and 4 deletions
|
@ -118,7 +118,7 @@ DeferredFragment unpackDeferredFragmentNoPositionNoAmbient(vec2 texcoord) {
|
||||||
<@include DeferredTransform.slh@>
|
<@include DeferredTransform.slh@>
|
||||||
<$declareDeferredFrameTransform()$>
|
<$declareDeferredFrameTransform()$>
|
||||||
|
|
||||||
vec4 unpackDeferredPosition(DeferredFrameTransform deferredTransform, float depthValue, vec2 texcoord) {
|
vec4 unpackDeferredPosition(float depthValue, vec2 texcoord) {
|
||||||
int side = 0;
|
int side = 0;
|
||||||
if (isStereo()) {
|
if (isStereo()) {
|
||||||
if (texcoord.x > 0.5) {
|
if (texcoord.x > 0.5) {
|
||||||
|
@ -131,6 +131,12 @@ vec4 unpackDeferredPosition(DeferredFrameTransform deferredTransform, float dept
|
||||||
return vec4(evalEyePositionFromZdb(side, depthValue, texcoord), 1.0);
|
return vec4(evalEyePositionFromZdb(side, depthValue, texcoord), 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// This method to unpack position is fastesst
|
||||||
|
vec4 unpackDeferredPositionFromZdb(vec2 texcoord) {
|
||||||
|
float Zdb = texture(depthMap, texcoord).x;
|
||||||
|
return unpackDeferredPosition(Zdb, texcoord);
|
||||||
|
}
|
||||||
|
|
||||||
vec4 unpackDeferredPositionFromZeye(vec2 texcoord) {
|
vec4 unpackDeferredPositionFromZeye(vec2 texcoord) {
|
||||||
float Zeye = -texture(linearZeyeMap, texcoord).x;
|
float Zeye = -texture(linearZeyeMap, texcoord).x;
|
||||||
int side = 0;
|
int side = 0;
|
||||||
|
@ -151,7 +157,7 @@ DeferredFragment unpackDeferredFragment(DeferredFrameTransform deferredTransform
|
||||||
DeferredFragment frag = unpackDeferredFragmentNoPosition(texcoord);
|
DeferredFragment frag = unpackDeferredFragmentNoPosition(texcoord);
|
||||||
|
|
||||||
frag.depthVal = depthValue;
|
frag.depthVal = depthValue;
|
||||||
frag.position = unpackDeferredPosition(deferredTransform, frag.depthVal, texcoord);
|
frag.position = unpackDeferredPosition(frag.depthVal, texcoord);
|
||||||
|
|
||||||
return frag;
|
return frag;
|
||||||
}
|
}
|
||||||
|
|
|
@ -32,7 +32,7 @@ void main(void) {
|
||||||
// Grab the fragment data from the uv
|
// Grab the fragment data from the uv
|
||||||
vec2 texCoord = varTexCoord0.st;
|
vec2 texCoord = varTexCoord0.st;
|
||||||
|
|
||||||
vec4 fragEyePos = unpackDeferredPositionFromZeye(texCoord);
|
vec4 fragEyePos = unpackDeferredPositionFromZdb(texCoord);
|
||||||
vec4 fragWorldPos = getViewInverse() * fragEyePos;
|
vec4 fragWorldPos = getViewInverse() * fragEyePos;
|
||||||
|
|
||||||
// From frag world pos find the cluster
|
// From frag world pos find the cluster
|
||||||
|
|
|
@ -29,7 +29,7 @@ void main(void) {
|
||||||
// Grab the fragment data from the uv
|
// Grab the fragment data from the uv
|
||||||
vec2 texCoord = varTexCoord0.st;
|
vec2 texCoord = varTexCoord0.st;
|
||||||
|
|
||||||
vec4 fragEyePos = unpackDeferredPositionFromZeye(texCoord);
|
vec4 fragEyePos = unpackDeferredPositionFromZdb(texCoord);
|
||||||
vec4 fragWorldPos = getViewInverse() * fragEyePos;
|
vec4 fragWorldPos = getViewInverse() * fragEyePos;
|
||||||
|
|
||||||
// From frag world pos find the cluster
|
// From frag world pos find the cluster
|
||||||
|
|
Loading…
Reference in a new issue