diff options
Diffstat (limited to '3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc')
-rw-r--r-- | 3rdparty/bgfx/examples/18-ibl/vs_ibl_skybox.sc | 16 |
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; } |