Merge pull request #76692 from clayjohn/Mobile-sky-dark
Use proper UV in cubemap downsampler raster (Fixes reflections in mobile renderer)
This commit is contained in:
commit
dbd615a28e
@ -55,15 +55,14 @@ void main() {
|
|||||||
// Converted from compute shader which uses absolute coordinates.
|
// Converted from compute shader which uses absolute coordinates.
|
||||||
// Could possibly simplify this
|
// Could possibly simplify this
|
||||||
float face_size = float(params.face_size);
|
float face_size = float(params.face_size);
|
||||||
|
|
||||||
if (uv_interp.x < face_size && uv_interp.y < face_size) {
|
|
||||||
float inv_face_size = 1.0 / face_size;
|
float inv_face_size = 1.0 / face_size;
|
||||||
|
vec2 id = floor(uv_interp);
|
||||||
|
|
||||||
float u0 = (uv_interp.x * 2.0 + 1.0 - 0.75) * inv_face_size - 1.0;
|
float u1 = (id.x * 2.0 + 1.0 + 0.75) * inv_face_size - 1.0;
|
||||||
float u1 = (uv_interp.x * 2.0 + 1.0 + 0.75) * inv_face_size - 1.0;
|
float u0 = (id.x * 2.0 + 1.0 - 0.75) * inv_face_size - 1.0;
|
||||||
|
|
||||||
float v0 = (uv_interp.y * 2.0 + 1.0 - 0.75) * -inv_face_size + 1.0;
|
float v0 = (id.y * 2.0 + 1.0 - 0.75) * -inv_face_size + 1.0;
|
||||||
float v1 = (uv_interp.y * 2.0 + 1.0 + 0.75) * -inv_face_size + 1.0;
|
float v1 = (id.y * 2.0 + 1.0 + 0.75) * -inv_face_size + 1.0;
|
||||||
|
|
||||||
float weights[4];
|
float weights[4];
|
||||||
weights[0] = calcWeight(u0, v0);
|
weights[0] = calcWeight(u0, v0);
|
||||||
@ -160,4 +159,3 @@ void main() {
|
|||||||
}
|
}
|
||||||
frag_color = color;
|
frag_color = color;
|
||||||
}
|
}
|
||||||
}
|
|
||||||
|
Loading…
Reference in New Issue
Block a user