2016-07-12 00:40:13 +00:00
|
|
|
!!cvarf ffov
|
2018-11-27 16:48:19 +00:00
|
|
|
!!samps screen:samplerCube=0
|
2016-07-12 00:40:13 +00:00
|
|
|
|
|
|
|
//equirectangular view rendering, commonly used for sphere->2d map projections.
|
|
|
|
|
|
|
|
#ifdef VERTEX_SHADER
|
|
|
|
attribute vec2 v_texcoord;
|
|
|
|
varying vec2 texcoord;
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
texcoord = v_texcoord.xy;
|
|
|
|
gl_Position = ftetransform();
|
|
|
|
}
|
|
|
|
#endif
|
|
|
|
#ifdef FRAGMENT_SHADER
|
|
|
|
varying vec2 texcoord;
|
|
|
|
uniform float cvar_ffov;
|
|
|
|
|
|
|
|
#define PI 3.1415926535897932384626433832795
|
|
|
|
void main()
|
|
|
|
{
|
|
|
|
vec3 tc;
|
|
|
|
float lng = (texcoord.x - 0.5) * PI * 2.0;
|
|
|
|
float lat = (texcoord.y) * PI * 1.0;
|
|
|
|
|
|
|
|
tc.z = cos(lng) * sin(lat);
|
|
|
|
tc.x = sin(lng) * sin(lat);
|
|
|
|
tc.y = cos(lat);
|
2018-11-27 16:48:19 +00:00
|
|
|
gl_FragColor = textureCube(s_screen, tc);
|
2016-07-12 00:40:13 +00:00
|
|
|
}
|
|
|
|
#endif
|