2018-10-22 18:09:02 +02:00
|
|
|
///////////////////////////////////////////////////
|
|
|
|
//
|
|
|
|
// used for rendering to the HUD
|
|
|
|
//
|
|
|
|
///////////////////////////////////////////////////
|
|
|
|
|
|
|
|
shader 0 "hud" [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 vvertex, vcolor;
|
|
|
|
in vec2 vtexcoord0;
|
2018-10-22 18:09:02 +02:00
|
|
|
uniform mat4 hudmatrix;
|
2018-10-28 20:21:18 +01:00
|
|
|
out vec2 texcoord0;
|
|
|
|
out vec4 colorscale;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Position = hudmatrix * vvertex;
|
|
|
|
texcoord0 = vtexcoord0;
|
|
|
|
colorscale = vcolor;
|
|
|
|
}
|
|
|
|
] [
|
|
|
|
uniform sampler2D tex0;
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec2 texcoord0;
|
|
|
|
in vec4 colorscale;
|
|
|
|
layout(location = 0) out vec4 fragcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
2018-10-28 20:44:03 +01:00
|
|
|
vec4 color = texture(tex0, texcoord0);
|
2018-10-22 18:09:02 +02:00
|
|
|
fragcolor = colorscale * color;
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
shader 0 "hudtext" [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 vvertex, vcolor;
|
|
|
|
in vec2 vtexcoord0;
|
2018-10-22 18:09:02 +02:00
|
|
|
uniform mat4 hudmatrix;
|
2018-10-28 20:21:18 +01:00
|
|
|
out vec2 texcoord0;
|
|
|
|
out vec4 colorscale;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Position = hudmatrix * vvertex;
|
|
|
|
texcoord0 = vtexcoord0;
|
|
|
|
colorscale = vcolor;
|
|
|
|
}
|
|
|
|
] [
|
|
|
|
uniform sampler2D tex0;
|
|
|
|
uniform vec4 textparams;
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec2 texcoord0;
|
|
|
|
in vec4 colorscale;
|
|
|
|
layout(location = 0) out vec4 fragcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
2018-10-28 20:44:03 +01:00
|
|
|
float dist = texture(tex0, texcoord0).r;
|
2018-10-22 18:09:02 +02:00
|
|
|
float border = smoothstep(textparams.x, textparams.y, dist);
|
|
|
|
float outline = smoothstep(textparams.z, textparams.w, dist);
|
|
|
|
fragcolor = vec4(colorscale.rgb * outline, colorscale.a * border);
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
shader 0 "hudrgb" [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 vvertex, vcolor;
|
|
|
|
in vec2 vtexcoord0;
|
2018-10-22 18:09:02 +02:00
|
|
|
uniform mat4 hudmatrix;
|
2018-10-28 20:21:18 +01:00
|
|
|
out vec2 texcoord0;
|
|
|
|
out vec4 colorscale;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Position = hudmatrix * vvertex;
|
|
|
|
texcoord0 = vtexcoord0;
|
|
|
|
colorscale = vcolor;
|
|
|
|
}
|
|
|
|
] [
|
|
|
|
uniform sampler2D tex0;
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec2 texcoord0;
|
|
|
|
in vec4 colorscale;
|
|
|
|
layout(location = 0) out vec4 fragcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
2018-10-28 20:44:03 +01:00
|
|
|
vec4 color = texture(tex0, texcoord0);
|
2018-10-22 18:09:02 +02:00
|
|
|
fragcolor.rgb = colorscale.rgb * color.rgb;
|
|
|
|
fragcolor.a = colorscale.a;
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
shader 0 "hudnotexture" [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 vvertex, vcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
uniform mat4 hudmatrix;
|
2018-10-28 20:21:18 +01:00
|
|
|
out vec4 color;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Position = hudmatrix * vvertex;
|
|
|
|
color = vcolor;
|
|
|
|
}
|
|
|
|
] [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 color;
|
|
|
|
layout(location = 0) out vec4 fragcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
fragcolor = color;
|
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
shader 0 "hudrect" [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 vvertex, vcolor;
|
|
|
|
in vec2 vtexcoord0;
|
2018-10-22 18:09:02 +02:00
|
|
|
uniform mat4 hudmatrix;
|
2018-10-28 20:21:18 +01:00
|
|
|
out vec2 texcoord0;
|
|
|
|
out vec4 colorscale;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Position = hudmatrix * vvertex;
|
|
|
|
texcoord0 = vtexcoord0;
|
|
|
|
colorscale = vcolor;
|
|
|
|
}
|
|
|
|
] [
|
|
|
|
uniform sampler2DRect tex0;
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec2 texcoord0;
|
|
|
|
in vec4 colorscale;
|
|
|
|
layout(location = 0) out vec4 fragcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
2018-10-28 20:44:03 +01:00
|
|
|
fragcolor = colorscale * textureRect(tex0, texcoord0);
|
2018-10-22 18:09:02 +02:00
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
shader 0 "hud3d" [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 vvertex, vcolor;
|
|
|
|
in vec3 vtexcoord0;
|
2018-10-22 18:09:02 +02:00
|
|
|
uniform mat4 hudmatrix;
|
2018-10-28 20:21:18 +01:00
|
|
|
out vec3 texcoord0;
|
|
|
|
out vec4 color;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Position = hudmatrix * vvertex;
|
|
|
|
texcoord0 = vtexcoord0;
|
|
|
|
color = vcolor;
|
|
|
|
}
|
|
|
|
] [
|
|
|
|
uniform sampler3D tex0;
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec3 texcoord0;
|
|
|
|
in vec4 color;
|
|
|
|
layout(location = 0) out vec4 fragcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
2018-10-28 20:44:03 +01:00
|
|
|
fragcolor = color * texture(tex0, texcoord0);
|
2018-10-22 18:09:02 +02:00
|
|
|
}
|
|
|
|
]
|
|
|
|
|
|
|
|
shader 0 "hudcubemap" [
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec4 vvertex, vcolor;
|
|
|
|
in vec3 vtexcoord0;
|
2018-10-22 18:09:02 +02:00
|
|
|
uniform mat4 hudmatrix;
|
2018-10-28 20:21:18 +01:00
|
|
|
out vec3 texcoord0;
|
|
|
|
out vec4 colorscale;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
|
|
|
gl_Position = hudmatrix * vvertex;
|
|
|
|
texcoord0 = vtexcoord0;
|
|
|
|
colorscale = vcolor;
|
|
|
|
}
|
|
|
|
] [
|
|
|
|
uniform samplerCube tex0;
|
2018-10-28 20:21:18 +01:00
|
|
|
in vec3 texcoord0;
|
|
|
|
in vec4 colorscale;
|
|
|
|
layout(location = 0) out vec4 fragcolor;
|
2018-10-22 18:09:02 +02:00
|
|
|
void main(void)
|
|
|
|
{
|
2018-10-28 20:44:03 +01:00
|
|
|
fragcolor = colorscale * texture(tex0, texcoord0);
|
2018-10-22 18:09:02 +02:00
|
|
|
}
|
|
|
|
]
|
|
|
|
|