summaryrefslogtreecommitdiffstatshomepage
path: root/3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc
diff options
context:
space:
mode:
Diffstat (limited to '3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc')
-rw-r--r--3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc16
1 files changed, 13 insertions, 3 deletions
diff --git a/3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc b/3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc
index 1c15b18e25e..b83fdd19e25 100644
--- a/3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc
+++ b/3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc
@@ -2,11 +2,12 @@ $input a_position, a_texcoord0
$output v_dir
/*
- * Copyright 2014 Dario Manesku. All rights reserved.
+ * Copyright 2014-2016 Dario Manesku. All rights reserved.
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
*/
#include "../common/common.sh"
+#include "uniforms.sh"
uniform mat4 u_mtx;
@@ -14,6 +15,15 @@ void main()
{
gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0) );
- vec2 tex = 2.0 * a_texcoord0 - 1.0;
- v_dir = mul(u_mtx, vec4(tex, 1.0, 0.0) ).xyz;
+ float fov = 45.0;
+ float height = tan(fov*0.5);
+ float aspect = height*(4.0/3.0);
+ vec2 tex = (2.0*a_texcoord0-1.0) * vec2(aspect, height);
+
+ mat4 mtx;
+ mtx[0] = u_mtx0;
+ mtx[1] = u_mtx1;
+ mtx[2] = u_mtx2;
+ mtx[3] = u_mtx3;
+ v_dir = instMul(mtx, vec4(tex, 1.0, 0.0) ).xyz;
}