FTEQW
Documentation of the FTE engine source tree.
defs.h
Go to the documentation of this file.
1#ifdef VERTEX_SHADER
2#define attribute in
3#define varying out
4
6{
7 vec4 gl_Position;
8};
9
10#else
11#define varying in
12#endif
13
14layout(std140, binding=0) uniform entityblock
15{
16 mat4 m_modelviewproj;
17 mat4 m_model;
18 mat4 m_modelinv;
19 vec3 e_eyepos;
20 float e_time;
21 vec3 e_light_ambient; float epad1;
22 vec3 e_light_dir; float epad2;
23 vec3 e_light_mul; float epad3;
24 vec4 e_lmscales[4];
25 vec3 e_uppercolour; float epad4;
26 vec3 e_lowercolour; float epad5;
27 vec3 e_glowmod; float epad6;
28 vec4 e_colourident;
29 vec4 w_fogcolours;
30 float w_fogdensity; float w_fogdepthbias; vec2 epad7;
31};
32#define e_lmscale (e_lmscales[0])
33
34layout(std140, binding=1) uniform lightblock
35{
36 mat4 l_cubematrix;
37 vec3 l_lightposition; float lpad1;
38 vec3 l_lightcolour; float lpad2;
39 vec3 l_lightcolourscale; float l_lightradius;
40 vec4 l_shadowmapproj;
41 vec2 l_shadowmapscale; vec2 lpad3;
42};
43
44
45#ifdef VERTEX_SHADER
46layout(location=0) attribute vec3 v_position;
47layout(location=1) attribute vec2 v_texcoord;
48layout(location=2) attribute vec4 v_colour;
49layout(location=3) attribute vec2 v_lmcoord;
50layout(location=4) attribute vec3 v_normal;
51layout(location=5) attribute vec3 v_svector;
52layout(location=6) attribute vec3 v_tvector;
53#endif
54#ifdef FRAGMENT_SHADER
55layout(location=0) out vec4 outcolour;
56#define gl_FragColor outcolour
57#endif
58
59#define texture2D texture
60#define textureCube texture
61
62/*defined by front-end, with bindings that suit us
63uniform sampler2D s_t0;
64uniform sampler2D s_t1;
65uniform sampler2D s_t2;
66uniform sampler2D s_t3;
67uniform sampler2D s_t4;
68uniform sampler2D s_t5;
69uniform sampler2D s_t6;
70uniform sampler2D s_t7;
71uniform sampler2D s_diffuse;
72uniform sampler2D s_normalmap;
73uniform sampler2D s_specular;
74uniform sampler2D s_upper;
75uniform sampler2D s_lower;
76uniform sampler2D s_fullbright;
77uniform sampler2D s_paletted;
78uniform sampler2D s_shadowmap;
79uniform samplerCube s_projectionmap;
80uniform samplerCube s_reflectcube;
81uniform sampler2D s_reflectmask;
82uniform sampler2D s_lightmap;
83#define s_lightmap0 s_lightmap
84uniform sampler2D s_deluxmap;
85#define s_deluxmap0 s_deluxmap
86uniform sampler2D s_lightmap1;
87uniform sampler2D s_lightmap2;
88uniform sampler2D s_lightmap3;
89uniform sampler2D s_deluxmap1;
90uniform sampler2D s_deluxmap2
91uniform sampler2D s_deluxmap3;
92*/
93
94#ifdef VERTEX_SHADER
96{
97 vec4 proj = (m_modelviewproj*vec4(v_position,1.0));
98 proj.y *= -1;
99 proj.z = (proj.z + proj.w) / 2.0;
100 return proj;
101}
102#endif
out gl_PerVertex
Definition: defs.h:6
layout(std140, binding=0) uniform entityblock
Definition: defs.h:14
vec4 ftetransform()
Definition: defs.h:95
EGLConfig EGLint attribute
Definition: gl_videgl.c:37
GLint location
Definition: glsupp.h:612
static SpeexBits spx_int16_t * out
Definition: snd_dma.c:492