diff options
author | Bastiaan Olij <mux213@gmail.com> | 2018-12-15 16:27:03 +1100 |
---|---|---|
committer | Bastiaan Olij <mux213@gmail.com> | 2018-12-15 19:41:34 +1100 |
commit | f3dd3c0830e620b20ba6d0364537bf6e9235a8fb (patch) | |
tree | 8f1436334ce4e0493afdeafc9ea95f2cd1733a75 /drivers/gles3/shaders | |
parent | 5f32fc82087404ac2c803770dc9d1e3711fc14fd (diff) |
Adding option to re-orient our sky
Diffstat (limited to 'drivers/gles3/shaders')
-rw-r--r-- | drivers/gles3/shaders/copy.glsl | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/gles3/shaders/copy.glsl b/drivers/gles3/shaders/copy.glsl index a5637537d2..3b36bc7cc1 100644 --- a/drivers/gles3/shaders/copy.glsl +++ b/drivers/gles3/shaders/copy.glsl @@ -79,6 +79,7 @@ uniform float multiplier; #endif #if defined(USE_PANORAMA) || defined(USE_ASYM_PANO) +uniform highp mat4 sky_transform; vec4 texturePanorama(vec3 normal, sampler2D pano) { @@ -121,7 +122,12 @@ void main() { #ifdef USE_PANORAMA - vec4 color = texturePanorama(normalize(cube_interp), source); + vec3 cube_normal = normalize(cube_interp); + cube_normal.z = -cube_normal.z; + cube_normal = mat3(sky_transform) * cube_normal; + cube_normal.z = -cube_normal.z; + + vec4 color = texturePanorama(cube_normal, source); #elif defined(USE_ASYM_PANO) @@ -133,7 +139,7 @@ void main() { cube_normal.z = -1000000.0; cube_normal.x = (cube_normal.z * (-uv_interp.x - asym_proj.x)) / asym_proj.y; cube_normal.y = (cube_normal.z * (-uv_interp.y - asym_proj.z)) / asym_proj.a; - cube_normal = mat3(pano_transform) * cube_normal; + cube_normal = mat3(sky_transform) * mat3(pano_transform) * cube_normal; cube_normal.z = -cube_normal.z; vec4 color = texturePanorama(normalize(cube_normal.xyz), source); |