2014-02-14 08:46:34 +04:00
|
|
|
$input a_position, a_texcoord0
|
|
|
|
$output v_dir
|
|
|
|
|
|
|
|
/*
|
2016-02-29 03:15:12 +03:00
|
|
|
* Copyright 2014-2016 Dario Manesku. All rights reserved.
|
2016-01-01 11:11:04 +03:00
|
|
|
* License: https://github.com/bkaradzic/bgfx#license-bsd-2-clause
|
2014-02-14 08:46:34 +04:00
|
|
|
*/
|
|
|
|
|
|
|
|
#include "../common/common.sh"
|
2016-02-29 03:15:12 +03:00
|
|
|
#include "uniforms.sh"
|
2014-02-14 08:46:34 +04:00
|
|
|
|
|
|
|
uniform mat4 u_mtx;
|
|
|
|
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
gl_Position = mul(u_modelViewProj, vec4(a_position, 1.0) );
|
|
|
|
|
2016-02-29 03:15:12 +03:00
|
|
|
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;
|
2014-02-14 08:46:34 +04:00
|
|
|
}
|