shaders: attribute/varying -> in/out

gl4
Daniel Kolesa 2018-10-28 20:21:18 +01:00
parent d77a25fbc8
commit cf88690a76
26 changed files with 547 additions and 614 deletions

View File

@ -5,19 +5,15 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
lazyshader 0 "tqaaresolve" [ lazyshader 0 "tqaaresolve" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
@(? $tqaaresolvegather [ out vec2 texcoord1;
varying vec2 texcoord1;
])
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
texcoord0 = vtexcoord0; texcoord0 = vtexcoord0;
@(? $tqaaresolvegather [ texcoord1 = vtexcoord0 - 0.5;
texcoord1 = vtexcoord0 - 0.5;
])
} }
] [ ] [
@(gfetchdefs tex2) @(gfetchdefs tex2)
@ -26,11 +22,9 @@ lazyshader 0 "tqaaresolve" [
uniform mat4 reprojectmatrix; uniform mat4 reprojectmatrix;
uniform vec2 maxvelocity; uniform vec2 maxvelocity;
uniform vec2 colorweight; uniform vec2 colorweight;
varying vec2 texcoord0; in vec2 texcoord0;
@(? $tqaaresolvegather [ in vec2 texcoord1;
varying vec2 texcoord1; layout(location = 0) out vec4 fragcolor;
])
fragdata(0) vec4 fragcolor;
void main(void) void main(void)
{ {
@(gdepthunpack depth [gfetch(tex2, texcoord0)] [ @(gdepthunpack depth [gfetch(tex2, texcoord0)] [
@ -46,24 +40,15 @@ lazyshader 0 "tqaaresolve" [
vec4 color = texture2DRect(tex0, texcoord0 + mask*quincunx.xy); vec4 color = texture2DRect(tex0, texcoord0 + mask*quincunx.xy);
vec4 prevcolor = texture2DRect(tex1, texcoord0 + mask*(quincunx.zw + vel*scale)); vec4 prevcolor = texture2DRect(tex1, texcoord0 + mask*(quincunx.zw + vel*scale));
@(? $tqaaresolvegather [ vec4 l0 = textureGather(tex0, texcoord1, 1);
vec4 l0 = textureGather(tex0, texcoord1, 1); vec4 l1 = textureGatherOffset(tex0, texcoord1, ivec2(1, 1), 1);
vec4 l1 = textureGatherOffset(tex0, texcoord1, ivec2(1, 1), 1); float l2 = texture2DRectOffset(tex0, texcoord0, ivec2(1, -1)).g;
float l2 = texture2DRectOffset(tex0, texcoord0, ivec2(1, -1)).g; float l3 = texture2DRectOffset(tex0, texcoord0, ivec2(-1, 1)).g;
float l3 = texture2DRectOffset(tex0, texcoord0, ivec2(-1, 1)).g; vec4 l01min = min(l0, l1), l01max = max(l0, l1);
vec4 l01min = min(l0, l1), l01max = max(l0, l1); l01min.xy = min(l01min.xy, l01min.zw);
l01min.xy = min(l01min.xy, l01min.zw); l01max.xy = max(l01max.xy, l01max.zw);
l01max.xy = max(l01max.xy, l01max.zw); float lmin = min(min(l01min.x, l01min.y), min(l2, l3));
float lmin = min(min(l01min.x, l01min.y), min(l2, l3)); float lmax = max(max(l01max.x, l01max.y), max(l2, l3));
float lmax = max(max(l01max.x, l01max.y), max(l2, l3));
] [
float l0 = texture2DRect(tex0, texcoord0 + vec2(-1.0, -0.5)).g;
float l1 = texture2DRect(tex0, texcoord0 + vec2( 0.5, -1.0)).g;
float l2 = texture2DRect(tex0, texcoord0 + vec2( 1.0, 0.5)).g;
float l3 = texture2DRect(tex0, texcoord0 + vec2(-0.5, 1.0)).g;
float lmin = min(color.g, min(min(l0, l1), min(l2, l3)));
float lmax = max(color.g, max(max(l0, l1), max(l2, l3)));
])
float weight = 0.5 - 0.5*clamp((colorweight.x*max(prevcolor.g - lmax, lmin - prevcolor.g) + colorweight.y) / (lmax - lmin + 1e-4), 0.0, 1.0); float weight = 0.5 - 0.5*clamp((colorweight.x*max(prevcolor.g - lmax, lmin - prevcolor.g) + colorweight.y) / (lmax - lmin + 1e-4), 0.0, 1.0);
weight *= clamp(1.0 - 2.0*(prevcolor.a - color.a), 0.0, 1.0); weight *= clamp(1.0 - 2.0*(prevcolor.a - color.a), 0.0, 1.0);

View File

@ -25,10 +25,10 @@ ambientobscurancevariantshader = [
derivnormal = (>= (strstr $arg2 "d") 0) derivnormal = (>= (strstr $arg2 "d") 0)
maxaotaps = $arg3 maxaotaps = $arg3
shader 0 $arg1 [ shader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
@(screentexcoord 1) @(screentexcoord 1)
varying vec2 texcoord0, texcoord1; out vec2 texcoord0, texcoord1;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -53,8 +53,8 @@ ambientobscurancevariantshader = [
#define depthtc texcoord0 #define depthtc texcoord0
]) ])
uniform vec3 gdepthpackparams; uniform vec3 gdepthpackparams;
varying vec2 texcoord0, texcoord1; in vec2 texcoord0, texcoord1;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@(if (&& $derivnormal [= $aodepthformat 1]) [result [ @(if (&& $derivnormal [= $aodepthformat 1]) [result [
@ -127,9 +127,9 @@ ambientobscuranceshader = [
] ]
shader 0 "linearizedepth" [ shader 0 "linearizedepth" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -138,8 +138,8 @@ shader 0 "linearizedepth" [
] [ ] [
@(gfetchdefs tex0 $msaasamples) @(gfetchdefs tex0 $msaasamples)
uniform vec3 gdepthpackparams; uniform vec3 gdepthpackparams;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@(if (! $aodepthformat) [ @(if (! $aodepthformat) [
@ -165,14 +165,14 @@ bilateralvariantshader = [
reduced = $arg4 reduced = $arg4
filterdir = $arg5 filterdir = $arg5
shader 0 $arg1 [ shader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
@(if $reduced [result [ @(if $reduced [result [
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
]]) ]])
@(if $upscaled [result [ @(if $upscaled [result [
@(screentexcoord 1) @(screentexcoord 1)
varying vec2 texcoord1; out vec2 texcoord1;
]]) ]])
void main(void) void main(void)
{ {
@ -185,9 +185,9 @@ bilateralvariantshader = [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
uniform vec2 bilateralparams; uniform vec2 bilateralparams;
uniform vec3 gdepthpackparams; uniform vec3 gdepthpackparams;
@(? $reduced [varying vec2 texcoord0;]) @(? $reduced [in vec2 texcoord0;])
@(? $upscaled [varying vec2 texcoord1;]) @(? $upscaled [in vec2 texcoord1;])
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
#define tc @(? $upscaled [texcoord1] [gl_FragCoord.xy]) #define tc @(? $upscaled [texcoord1] [gl_FragCoord.xy])

View File

@ -6,12 +6,12 @@
blurshader = [ blurshader = [
shader 0 $arg1 [ shader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
uniform float offsets[8]; uniform float offsets[8];
varying vec2 texcoord0, texcoordp1, texcoordn1; out vec2 texcoord0, texcoordp1, texcoordn1;
@(loopconcat+ i 2 (min (- $arg2 1) 2) [result [ @(loopconcat+ i 2 (min (- $arg2 1) 2) [result [
varying vec2 texcoordp@i, texcoordn@i; out vec2 texcoordp@i, texcoordn@i;
]]) ]])
void main(void) void main(void)
{ {
@ -33,11 +33,11 @@ blurshader = [
uniform float weights[8]; uniform float weights[8];
uniform float offsets[8]; uniform float offsets[8];
uniform sampler@[arg4] tex0; uniform sampler@[arg4] tex0;
varying vec2 texcoord0, texcoordp1, texcoordn1; in vec2 texcoord0, texcoordp1, texcoordn1;
@(loopconcat+ i 2 (min (- $arg2 1) 2) [result [ @(loopconcat+ i 2 (min (- $arg2 1) 2) [result [
varying vec2 texcoordp@i, texcoordn@i; in vec2 texcoordp@i, texcoordn@i;
]]) ]])
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
#define texval(coords) texture@[arg4](tex0, (coords)) #define texval(coords) texture@[arg4](tex0, (coords))

View File

@ -51,22 +51,22 @@ decalvariantshader = [
defuniformparam "bumpblend" 1 // alpha-blend strength for normals defuniformparam "bumpblend" 1 // alpha-blend strength for normals
] ]
variantshader $stype $arg1 $srow [ variantshader $stype $arg1 $srow [
attribute vec4 vvertex; in vec4 vvertex;
@(? (dtopt "n") [ @(? (dtopt "n") [
attribute vec4 vtangent; in vec4 vtangent;
varying mat3 world; out mat3 world;
] [ ] [
varying vec3 nvec; out vec3 nvec;
]) ])
attribute vec4 vnormal; in vec4 vnormal;
attribute vec3 vtexcoord0; in vec3 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
varying vec4 texcoord0; out vec4 texcoord0;
@(? (|| (dtopt "p") (dtopt "r")) [ @(? (|| (dtopt "p") (dtopt "r")) [
uniform vec3 camera; uniform vec3 camera;
varying vec3 camvec; out vec3 camvec;
]) ])
@(? (dtopt "G") [uniform float millis; flat varying float pulse;]) @(? (dtopt "G") [uniform float millis; flat out float pulse;])
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -91,31 +91,31 @@ decalvariantshader = [
} }
] [ ] [
@(cond [dtopt "0"] [result [ @(cond [dtopt "0"] [result [
fragdata(0) vec4 gcolor; layout(location = 0) out vec4 gcolor;
fragblend(0) vec4 gcolorblend; layout(location = 0, index = 1) out vec4 gcolorblend;
]] [dtopt "1"] [ ]] [dtopt "1"] [
? $usepacknorm [ ? $usepacknorm [
fragdata(0) vec4 gnormal; layout(location = 0) out vec4 gnormal;
] [ ] [
fragdata(0) vec4 gnormal; layout(location = 0) out vec4 gnormal;
fragblend(0) vec4 gnormalblend; layout(location = 0, index = 1) out vec4 gnormalblend;
] ]
] [result [ ] [result [
fragdata(0) vec4 gcolor; layout(location = 0) out vec4 gcolor;
fragdata(1) vec4 gnormal; layout(location = 1) out vec4 gnormal;
]]) ]])
uniform sampler2D diffusemap; uniform sampler2D diffusemap;
uniform vec4 colorparams; uniform vec4 colorparams;
varying vec4 texcoord0; in vec4 texcoord0;
@(? (dtopt "n") [ @(? (dtopt "n") [
uniform sampler2D normalmap; uniform sampler2D normalmap;
varying mat3 world; in mat3 world;
] [ ] [
varying vec3 nvec; in vec3 nvec;
]) ])
@(? (|| (dtopt "p") (dtopt "r")) [varying vec3 camvec;]) @(? (|| (dtopt "p") (dtopt "r")) [in vec3 camvec;])
@(? (|| (dtopt "g") (dtopt "S")) [uniform sampler2D glowmap;]) @(? (|| (dtopt "g") (dtopt "S")) [uniform sampler2D glowmap;])
@(? (dtopt "G") [flat varying float pulse;]) @(? (dtopt "G") [flat in float pulse;])
@(? (dtopt "r") [uniform samplerCube envmap;]) @(? (dtopt "r") [uniform samplerCube envmap;])
void main(void) void main(void)
{ {

View File

@ -36,7 +36,7 @@ msaadetectedges = [
] ]
lazyshader 0 msaaedgedetect [ lazyshader 0 msaaedgedetect [
attribute vec4 vvertex; in vec4 vvertex;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -119,16 +119,13 @@ deferredlightvariantshader = [
transparent = (<= 8 $arg2 16) transparent = (<= 8 $arg2 16)
avatar = (<= 17 $arg2 31) avatar = (<= 17 $arg2 31)
variantshader 0 $arg1 $arg2 (? (< $arg2 0) [ variantshader 0 $arg1 $arg2 (? (< $arg2 0) [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 lightmatrix; uniform mat4 lightmatrix;
void main(void) void main(void)
{ {
gl_Position = lightmatrix * vvertex; gl_Position = lightmatrix * vvertex;
} }
]) [ ]) [
@(? (&& (dlopt "S") [< $glslversion 400]) [
#extension GL_ARB_sample_shading : enable
])
@(? (&& (dlopt "T") [glext "GL_EXT_shader_samples_identical"]) [ @(? (&& (dlopt "T") [glext "GL_EXT_shader_samples_identical"]) [
#extension GL_EXT_shader_samples_identical : enable #extension GL_EXT_shader_samples_identical : enable
]) ])
@ -183,7 +180,7 @@ deferredlightvariantshader = [
uniform vec4 lightscale; uniform vec4 lightscale;
@(? (&& (dlopt "a") [! $avatar] [! $transparent]) [uniform sampler2DRect tex5; uniform vec2 aoscale; uniform vec4 aoparams;]) @(? (&& (dlopt "a") [! $avatar] [! $transparent]) [uniform sampler2DRect tex5; uniform vec2 aoscale; uniform vec4 aoparams;])
@(gdepthunpackparams) @(gdepthunpackparams)
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
@(if (dlopt "p") [ @(if (dlopt "p") [
? $spotlight [ ? $spotlight [

View File

@ -5,12 +5,12 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
shader 0 "blendbrush" [ shader 0 "blendbrush" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec4 texgenS, texgenT; uniform vec4 texgenS, texgenT;
uniform float ldrscale; uniform float ldrscale;
varying vec4 color; out vec4 color;
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -19,9 +19,9 @@ shader 0 "blendbrush" [
} }
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec4 color; in vec4 color;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = texture2D(tex0, texcoord0).r * color; fragcolor = texture2D(tex0, texcoord0).r * color;
@ -29,12 +29,12 @@ shader 0 "blendbrush" [
] ]
lazyshader 0 "prefab" [ lazyshader 0 "prefab" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec3 vnormal; in vec3 vnormal;
uniform mat4 prefabmatrix; uniform mat4 prefabmatrix;
uniform mat3 prefabworld; uniform mat3 prefabworld;
varying vec3 nvec; out vec3 nvec;
varying vec4 color; out vec4 color;
@(msaainterpvert) @(msaainterpvert)
void main(void) void main(void)
@ -45,8 +45,8 @@ lazyshader 0 "prefab" [
@(msaapackvert) @(msaapackvert)
} }
] [ ] [
varying vec3 nvec; in vec3 nvec;
varying vec4 color; in vec4 color;
@(msaainterpfrag) @(msaainterpfrag)
void main(void) void main(void)

View File

@ -216,9 +216,9 @@ fxaadefs = [
] ]
shader 0 [fxaa@fxaapreset@fxaaopts] [ shader 0 [fxaa@fxaapreset@fxaaopts] [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -226,9 +226,9 @@ shader 0 [fxaa@fxaapreset@fxaaopts] [
} }
] [ ] [
@fxaadefs @fxaadefs
varying vec2 texcoord0; in vec2 texcoord0;
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
#define posM texcoord0 #define posM texcoord0

View File

@ -5,15 +5,15 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
lazyshader 0 "rsmsky" [ lazyshader 0 "rsmsky" [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 rsmmatrix; uniform mat4 rsmmatrix;
void main(void) void main(void)
{ {
gl_Position = rsmmatrix * vvertex; gl_Position = rsmmatrix * vvertex;
} }
] [ ] [
fragdata(0) vec4 gcolor; layout(location = 0) out vec4 gcolor;
fragdata(1) vec4 gnormal; layout(location = 1) out vec4 gnormal;
void main(void) void main(void)
{ {
gcolor = vec4(0.0, 0.0, 0.0, 1.0); gcolor = vec4(0.0, 0.0, 0.0, 1.0);
@ -170,11 +170,11 @@ rsmtapoffsets32 = [
radiancehintsshader = [ radiancehintsshader = [
numtaps = (cond [> $arg1 20] 32 [> $arg1 12] 20 12) numtaps = (cond [> $arg1 20] 32 [> $arg1 12] 20 12)
shader 0 [radiancehints@arg1] [ shader 0 [radiancehints@arg1] [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vtexcoord0; in vec3 vtexcoord0;
uniform mat4 rsmtcmatrix; uniform mat4 rsmtcmatrix;
varying vec3 rhcenter; out vec3 rhcenter;
varying vec2 rsmcenter; out vec2 rsmcenter;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -187,12 +187,12 @@ radiancehintsshader = [
uniform vec2 rsmspread; uniform vec2 rsmspread;
uniform float rhatten, rhspread, rhaothreshold, rhaoatten, rhaoheight; uniform float rhatten, rhspread, rhaothreshold, rhaoatten, rhaoheight;
uniform vec3 rsmdir; uniform vec3 rsmdir;
varying vec3 rhcenter; in vec3 rhcenter;
varying vec2 rsmcenter; in vec2 rsmcenter;
fragdata(0) vec4 rhr; layout(location = 0) out vec4 rhr;
fragdata(1) vec4 rhg; layout(location = 1) out vec4 rhg;
fragdata(2) vec4 rhb; layout(location = 2) out vec4 rhb;
fragdata(3) vec4 rha; layout(location = 3) out vec4 rha;
void calcrhsample(vec3 rhtap, vec2 rsmtap, inout vec4 shr, inout vec4 shg, inout vec4 shb, inout vec4 sha) void calcrhsample(vec3 rhtap, vec2 rsmtap, inout vec4 shr, inout vec4 shg, inout vec4 shb, inout vec4 sha)
{ {
@ -234,9 +234,9 @@ radiancehintsshader = [
] ]
lazyshader 0 radiancehintsborder [ lazyshader 0 radiancehintsborder [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vtexcoord0; in vec3 vtexcoord0;
varying vec3 texcoord0; out vec3 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -245,11 +245,11 @@ lazyshader 0 radiancehintsborder [
] [ ] [
uniform sampler3D tex3, tex4, tex5, tex6; uniform sampler3D tex3, tex4, tex5, tex6;
uniform vec3 bordercenter, borderrange, borderscale; uniform vec3 bordercenter, borderrange, borderscale;
varying vec3 texcoord0; in vec3 texcoord0;
fragdata(0) vec4 rhr; layout(location = 0) out vec4 rhr;
fragdata(1) vec4 rhg; layout(location = 1) out vec4 rhg;
fragdata(2) vec4 rhb; layout(location = 2) out vec4 rhb;
fragdata(3) vec4 rha; layout(location = 3) out vec4 rha;
void main(void) void main(void)
{ {
@ -263,9 +263,9 @@ lazyshader 0 radiancehintsborder [
] ]
lazyshader 0 radiancehintscached [ lazyshader 0 radiancehintscached [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vtexcoord0; in vec3 vtexcoord0;
varying vec3 texcoord0; out vec3 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -273,11 +273,11 @@ lazyshader 0 radiancehintscached [
} }
] [ ] [
uniform sampler3D tex7, tex8, tex9, tex10; uniform sampler3D tex7, tex8, tex9, tex10;
varying vec3 texcoord0; in vec3 texcoord0;
fragdata(0) vec4 rhr; layout(location = 0) out vec4 rhr;
fragdata(1) vec4 rhg; layout(location = 1) out vec4 rhg;
fragdata(2) vec4 rhb; layout(location = 2) out vec4 rhb;
fragdata(3) vec4 rha; layout(location = 3) out vec4 rha;
void main(void) void main(void)
{ {
@ -289,7 +289,7 @@ lazyshader 0 radiancehintscached [
] ]
lazyshader 0 radiancehintsdisable [ lazyshader 0 radiancehintsdisable [
attribute vec4 vvertex; in vec4 vvertex;
uniform vec3 rhcenter; uniform vec3 rhcenter;
uniform float rhbounds; uniform float rhbounds;
void main(void) void main(void)
@ -297,10 +297,10 @@ lazyshader 0 radiancehintsdisable [
gl_Position = vec4((vvertex.xy - rhcenter.xy)/rhbounds, vvertex.zw); gl_Position = vec4((vvertex.xy - rhcenter.xy)/rhbounds, vvertex.zw);
} }
] [ ] [
fragdata(0) vec4 rhr; layout(location = 0) out vec4 rhr;
fragdata(1) vec4 rhg; layout(location = 1) out vec4 rhg;
fragdata(2) vec4 rhb; layout(location = 2) out vec4 rhb;
fragdata(3) vec4 rha; layout(location = 3) out vec4 rha;
void main(void) void main(void)
{ {

View File

@ -13,13 +13,13 @@ grassvariantshader = [
local grasstype local grasstype
grasstype = $arg2 grasstype = $arg2
variantshader 0 $arg1 (? (grassopt "b") 0 -1) [ variantshader 0 $arg1 (? (grassopt "b") 0 -1) [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
@(ginterpvert) @(ginterpvert)
varying vec2 texcoord0; out vec2 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
@(? (grassopt "b") [uniform vec4 blendmapparams; varying vec2 texcoord1;]) @(? (grassopt "b") [uniform vec4 blendmapparams; out vec2 texcoord1;])
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -34,9 +34,9 @@ grassvariantshader = [
uniform sampler2D tex0; uniform sampler2D tex0;
uniform float grasstest; uniform float grasstest;
@(ginterpfrag) @(ginterpfrag)
varying vec2 texcoord0; in vec2 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
@(? (grassopt "b") [uniform sampler2D tex1; varying vec2 texcoord1;]) @(? (grassopt "b") [uniform sampler2D tex1; in vec2 texcoord1;])
void main(void) void main(void)
{ {
vec4 color = texture2D(tex0, texcoord0) * colorscale; vec4 color = texture2D(tex0, texcoord0) * colorscale;

View File

@ -5,11 +5,11 @@
/////////////////////////////////////////////////// ///////////////////////////////////////////////////
shader 0 "hud" [ shader 0 "hud" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 hudmatrix; uniform mat4 hudmatrix;
varying vec2 texcoord0; out vec2 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
void main(void) void main(void)
{ {
gl_Position = hudmatrix * vvertex; gl_Position = hudmatrix * vvertex;
@ -18,9 +18,9 @@ shader 0 "hud" [
} }
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec2 texcoord0; in vec2 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 color = texture2D(tex0, texcoord0); vec4 color = texture2D(tex0, texcoord0);
@ -29,11 +29,11 @@ shader 0 "hud" [
] ]
shader 0 "hudtext" [ shader 0 "hudtext" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 hudmatrix; uniform mat4 hudmatrix;
varying vec2 texcoord0; out vec2 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
void main(void) void main(void)
{ {
gl_Position = hudmatrix * vvertex; gl_Position = hudmatrix * vvertex;
@ -43,9 +43,9 @@ shader 0 "hudtext" [
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
uniform vec4 textparams; uniform vec4 textparams;
varying vec2 texcoord0; in vec2 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
float dist = texture2D(tex0, texcoord0).r; float dist = texture2D(tex0, texcoord0).r;
@ -56,11 +56,11 @@ shader 0 "hudtext" [
] ]
shader 0 "hudrgb" [ shader 0 "hudrgb" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 hudmatrix; uniform mat4 hudmatrix;
varying vec2 texcoord0; out vec2 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
void main(void) void main(void)
{ {
gl_Position = hudmatrix * vvertex; gl_Position = hudmatrix * vvertex;
@ -69,9 +69,9 @@ shader 0 "hudrgb" [
} }
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec2 texcoord0; in vec2 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 color = texture2D(tex0, texcoord0); vec4 color = texture2D(tex0, texcoord0);
@ -81,17 +81,17 @@ shader 0 "hudrgb" [
] ]
shader 0 "hudnotexture" [ shader 0 "hudnotexture" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
uniform mat4 hudmatrix; uniform mat4 hudmatrix;
varying vec4 color; out vec4 color;
void main(void) void main(void)
{ {
gl_Position = hudmatrix * vvertex; gl_Position = hudmatrix * vvertex;
color = vcolor; color = vcolor;
} }
] [ ] [
varying vec4 color; in vec4 color;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = color; fragcolor = color;
@ -99,11 +99,11 @@ shader 0 "hudnotexture" [
] ]
shader 0 "hudrect" [ shader 0 "hudrect" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 hudmatrix; uniform mat4 hudmatrix;
varying vec2 texcoord0; out vec2 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
void main(void) void main(void)
{ {
gl_Position = hudmatrix * vvertex; gl_Position = hudmatrix * vvertex;
@ -112,9 +112,9 @@ shader 0 "hudrect" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = colorscale * texture2DRect(tex0, texcoord0); fragcolor = colorscale * texture2DRect(tex0, texcoord0);
@ -122,11 +122,11 @@ shader 0 "hudrect" [
] ]
shader 0 "hud3d" [ shader 0 "hud3d" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec3 vtexcoord0; in vec3 vtexcoord0;
uniform mat4 hudmatrix; uniform mat4 hudmatrix;
varying vec3 texcoord0; out vec3 texcoord0;
varying vec4 color; out vec4 color;
void main(void) void main(void)
{ {
gl_Position = hudmatrix * vvertex; gl_Position = hudmatrix * vvertex;
@ -135,9 +135,9 @@ shader 0 "hud3d" [
} }
] [ ] [
uniform sampler3D tex0; uniform sampler3D tex0;
varying vec3 texcoord0; in vec3 texcoord0;
varying vec4 color; in vec4 color;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = color * texture3D(tex0, texcoord0); fragcolor = color * texture3D(tex0, texcoord0);
@ -145,11 +145,11 @@ shader 0 "hud3d" [
] ]
shader 0 "hudcubemap" [ shader 0 "hudcubemap" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec3 vtexcoord0; in vec3 vtexcoord0;
uniform mat4 hudmatrix; uniform mat4 hudmatrix;
varying vec3 texcoord0; out vec3 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
void main(void) void main(void)
{ {
gl_Position = hudmatrix * vvertex; gl_Position = hudmatrix * vvertex;
@ -158,9 +158,9 @@ shader 0 "hudcubemap" [
} }
] [ ] [
uniform samplerCube tex0; uniform samplerCube tex0;
varying vec3 texcoord0; in vec3 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = colorscale * textureCube(tex0, texcoord0); fragcolor = colorscale * textureCube(tex0, texcoord0);

View File

@ -5,7 +5,7 @@
/////////////////////////////////////////////////// ///////////////////////////////////////////////////
shader 0 "refractmask" [ shader 0 "refractmask" [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
void main(void) void main(void)
{ {
@ -14,7 +14,7 @@ shader 0 "refractmask" [
] [ ] [
@(gfetchdefs tex0) @(gfetchdefs tex0)
uniform vec3 gdepthpackparams; uniform vec3 gdepthpackparams;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@(if (= $gdepthformat 1) [result [ @(if (= $gdepthformat 1) [result [
@ -28,7 +28,7 @@ shader 0 "refractmask" [
] ]
lazyshader 0 "waterminimap" [ lazyshader 0 "waterminimap" [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
@(ginterpvert) @(ginterpvert)
void main(void) void main(void)
@ -50,15 +50,15 @@ lazyshader 0 "waterminimap" [
watershader = [ watershader = [
lazyshader 0 $arg1 [ lazyshader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec3 camera; uniform vec3 camera;
varying vec2 texcoord0, texcoord1; out vec2 texcoord0, texcoord1;
varying vec3 surface; out vec3 surface;
@(? (>= (strstr $arg1 "reflect") 0) [ @(? (>= (strstr $arg1 "reflect") 0) [
uniform mat4 raymatrix; uniform mat4 raymatrix;
varying vec3 esurface; out vec3 esurface;
]) ])
@(ginterpvert 1) @(ginterpvert 1)
void main(void) void main(void)
@ -77,8 +77,8 @@ watershader = [
uniform float millis; uniform float millis;
uniform vec3 camera; uniform vec3 camera;
uniform mat4 linearworldmatrix; uniform mat4 linearworldmatrix;
varying vec2 texcoord0, texcoord1; in vec2 texcoord0, texcoord1;
varying vec3 surface; in vec3 surface;
uniform sampler2D tex0, tex1; uniform sampler2D tex0, tex1;
uniform vec4 viewsize; uniform vec4 viewsize;
uniform vec3 watercolor, waterdeepcolor, waterdeepfade; uniform vec3 watercolor, waterdeepcolor, waterdeepfade;
@ -95,7 +95,7 @@ watershader = [
]) ])
@(? (>= (strstr $arg1 "reflect") 0) [ @(? (>= (strstr $arg1 "reflect") 0) [
uniform mat4 raymatrix; uniform mat4 raymatrix;
varying vec3 esurface; in vec3 esurface;
]) ])
@(ginterpfrag 1) @(ginterpfrag 1)
@ -181,7 +181,7 @@ watershader "underwater"
causticshader = [ causticshader = [
lazyshader 0 $arg1 [ lazyshader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -192,7 +192,7 @@ causticshader = [
uniform vec3 causticsblend; uniform vec3 causticsblend;
uniform sampler2D tex0, tex1; uniform sampler2D tex0, tex1;
uniform vec4 waterdeepfade; uniform vec4 waterdeepfade;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@(gdepthunpack depth [gfetch(tex9, gl_FragCoord.xy)] [ @(gdepthunpack depth [gfetch(tex9, gl_FragCoord.xy)] [
@ -211,7 +211,7 @@ causticshader caustics
waterfogshader = [ waterfogshader = [
lazyshader 0 $arg1 [ lazyshader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -224,7 +224,7 @@ waterfogshader = [
uniform vec2 fogdensity; uniform vec2 fogdensity;
uniform vec3 waterdeepcolor, waterdeepfade; uniform vec3 waterdeepcolor, waterdeepfade;
uniform float waterheight; uniform float waterheight;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@(gdepthunpack depth [gfetch(tex9, gl_FragCoord.xy)] [ @(gdepthunpack depth [gfetch(tex9, gl_FragCoord.xy)] [
@ -246,12 +246,12 @@ waterfogshader = [
waterfogshader waterfog waterfogshader waterfog
lazyshader 0 "lava" [ lazyshader 0 "lava" [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
varying mat3 world; out mat3 world;
varying vec2 texcoord0; out vec2 texcoord0;
@(ginterpvert) @(ginterpvert)
void main(void) void main(void)
{ {
@ -265,8 +265,8 @@ lazyshader 0 "lava" [
] [ ] [
uniform sampler2D tex0, tex1; uniform sampler2D tex0, tex1;
uniform float lavaglow, lavaspec; uniform float lavaglow, lavaspec;
varying mat3 world; in mat3 world;
varying vec2 texcoord0; in vec2 texcoord0;
@(ginterpfrag) @(ginterpfrag)
void main(void) void main(void)
@ -283,14 +283,14 @@ lazyshader 0 "lava" [
] ]
lazyshader 0 "waterfallenv" [ lazyshader 0 "waterfallenv" [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec4 camera; uniform vec4 camera;
varying vec3 camdir; out vec3 camdir;
varying mat3 world; out mat3 world;
varying vec2 texcoord0; out vec2 texcoord0;
@(ginterpvert 1) @(ginterpvert 1)
void main(void) void main(void)
{ {
@ -310,9 +310,9 @@ lazyshader 0 "waterfallenv" [
uniform float waterfallspec; uniform float waterfallspec;
uniform vec4 waterfallrefract; uniform vec4 waterfallrefract;
uniform float refractdepth; uniform float refractdepth;
varying vec3 camdir; in vec3 camdir;
varying mat3 world; in mat3 world;
varying vec2 texcoord0; in vec2 texcoord0;
@(ginterpfrag 1) @(ginterpfrag 1)
void main(void) void main(void)
@ -340,12 +340,12 @@ lazyshader 0 "waterfallenv" [
] ]
lazyshader 0 "waterfall" [ lazyshader 0 "waterfall" [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
varying mat3 world; out mat3 world;
varying vec2 texcoord0; out vec2 texcoord0;
@(ginterpvert 1) @(ginterpvert 1)
void main(void) void main(void)
{ {
@ -363,8 +363,8 @@ lazyshader 0 "waterfall" [
uniform float waterfallspec; uniform float waterfallspec;
uniform vec4 waterfallrefract; uniform vec4 waterfallrefract;
uniform float refractdepth; uniform float refractdepth;
varying mat3 world; in mat3 world;
varying vec2 texcoord0; in vec2 texcoord0;
@(ginterpfrag 1) @(ginterpfrag 1)
void main(void) void main(void)
@ -387,14 +387,14 @@ lazyshader 0 "waterfall" [
] ]
lazyshader 0 "glassenv" [ lazyshader 0 "glassenv" [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec4 camera; uniform vec4 camera;
varying vec3 camdir; out vec3 camdir;
varying mat3 world; out mat3 world;
varying vec2 texcoord0; out vec2 texcoord0;
@(ginterpvert 1) @(ginterpvert 1)
void main(void) void main(void)
{ {
@ -413,9 +413,9 @@ lazyshader 0 "glassenv" [
uniform float glassspec; uniform float glassspec;
uniform vec4 glassrefract; uniform vec4 glassrefract;
uniform float refractdepth; uniform float refractdepth;
varying vec3 camdir; in vec3 camdir;
varying mat3 world; in mat3 world;
varying vec2 texcoord0; in vec2 texcoord0;
@(ginterpfrag 1) @(ginterpfrag 1)
void main(void) void main(void)
@ -443,12 +443,12 @@ lazyshader 0 "glassenv" [
] ]
lazyshader 0 "glass" [ lazyshader 0 "glass" [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
varying mat3 world; out mat3 world;
varying vec2 texcoord0; out vec2 texcoord0;
@(ginterpvert 1) @(ginterpvert 1)
void main(void) void main(void)
{ {
@ -465,8 +465,8 @@ lazyshader 0 "glass" [
uniform float glassspec; uniform float glassspec;
uniform vec4 glassrefract; uniform vec4 glassrefract;
uniform float refractdepth; uniform float refractdepth;
varying mat3 world; in mat3 world;
varying vec2 texcoord0; in vec2 texcoord0;
@(ginterpfrag 1) @(ginterpfrag 1)
void main(void) void main(void)

View File

@ -1,11 +1,11 @@
shader 0 "null" [ shader 0 "null" [
attribute vec4 vvertex; in vec4 vvertex;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
} }
] [ ] [
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = vec4(1.0, 0.0, 1.0, 1.0); fragcolor = vec4(1.0, 0.0, 1.0, 1.0);
@ -19,7 +19,7 @@ shader 0 "null" [
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
shader 0 "nocolor" [ shader 0 "nocolor" [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
void main() { gl_Position = camprojmatrix * vvertex; } void main() { gl_Position = camprojmatrix * vvertex; }
] [ ] [
@ -27,7 +27,7 @@ shader 0 "nocolor" [
] ]
shader 0 "bbquery" [ shader 0 "bbquery" [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec3 bborigin, bbsize; uniform vec3 bborigin, bbsize;
void main() { gl_Position = camprojmatrix * vec4(bborigin + vvertex.xyz*bbsize, vvertex.w); } void main() { gl_Position = camprojmatrix * vec4(bborigin + vvertex.xyz*bbsize, vvertex.w); }
@ -36,9 +36,9 @@ shader 0 "bbquery" [
] ]
shader 0 "depth" [ shader 0 "depth" [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
@(ginterpdepth) @(ginterpdepth out)
void main() void main()
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -46,9 +46,9 @@ shader 0 "depth" [
} }
] [ ] [
@(? $gdepthformat [ @(? $gdepthformat [
fragdata(0) vec4 gdepth; layout(location = 0) out vec4 gdepth;
]) ])
@(ginterpdepth) @(ginterpdepth in)
void main() void main()
{ {
@(if (= $gdepthformat 1) [result [ @(if (= $gdepthformat 1) [result [
@ -68,12 +68,12 @@ shader 0 "depth" [
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
shader 0 "ldr" [ shader 0 "ldr" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform float ldrscale; uniform float ldrscale;
varying vec2 texcoord0; out vec2 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -82,9 +82,9 @@ shader 0 "ldr" [
} }
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec2 texcoord0; in vec2 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 color = texture2D(tex0, texcoord0); vec4 color = texture2D(tex0, texcoord0);
@ -93,18 +93,18 @@ shader 0 "ldr" [
] ]
shader 0 "ldrnotexture" [ shader 0 "ldrnotexture" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform float ldrscale; uniform float ldrscale;
varying vec4 color; out vec4 color;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
color = vec4(ldrscale * vcolor.rgb, vcolor.a); color = vec4(ldrscale * vcolor.rgb, vcolor.a);
} }
] [ ] [
varying vec4 color; in vec4 color;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = color; fragcolor = color;
@ -119,11 +119,11 @@ shader 0 "ldrnotexture" [
shader 0 "fogged" [ shader 0 "fogged" [
//:fog //:fog
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
varying vec2 texcoord0; out vec2 texcoord0;
varying vec4 colorscale; out vec4 colorscale;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -132,9 +132,9 @@ shader 0 "fogged" [
} }
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec2 texcoord0; in vec2 texcoord0;
varying vec4 colorscale; in vec4 colorscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 color = texture2D(tex0, texcoord0); vec4 color = texture2D(tex0, texcoord0);
@ -144,17 +144,17 @@ shader 0 "fogged" [
shader 0 "foggednotexture" [ shader 0 "foggednotexture" [
//:fog //:fog
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
varying vec4 color; out vec4 color;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
color = vcolor; color = vcolor;
} }
] [ ] [
varying vec4 color; in vec4 color;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = color; fragcolor = color;
@ -162,16 +162,16 @@ shader 0 "foggednotexture" [
] ]
shader 0 "fogoverlay" [ shader 0 "fogoverlay" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
varying vec4 color; out vec4 color;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
color = vcolor; color = vcolor;
} }
] [ ] [
varying vec4 color; in vec4 color;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = color; fragcolor = color;

View File

@ -20,7 +20,7 @@ qtangentdecode = [
skelanimdefs = [ skelanimdefs = [
result [ result [
attribute vec4 vboneweight, vboneindex; in vec4 vboneweight, vboneindex;
//:uniform animdata //:uniform animdata
uniform vec4 animdata[@@(min $maxvsuniforms $maxskelanimdata)]; uniform vec4 animdata[@@(min $maxvsuniforms $maxskelanimdata)];
] ]
@ -72,13 +72,13 @@ shadowmodelvertexshader = [
local modeltype local modeltype
modeltype = $arg1 modeltype = $arg1
result [ result [
attribute vec4 vvertex; in vec4 vvertex;
@(if (mdlopt "b") [skelanimdefs $arg2]) @(if (mdlopt "b") [skelanimdefs $arg2])
uniform mat4 modelmatrix; uniform mat4 modelmatrix;
@(? (mdlopt "a") [ @(? (mdlopt "a") [
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform vec2 texscroll; uniform vec2 texscroll;
varying vec2 texcoord0; out vec2 texcoord0;
]) ])
void main(void) void main(void)
{ {
@ -104,7 +104,7 @@ shadowmodelfragmentshader = [
@(? (mdlopt "a") [ @(? (mdlopt "a") [
uniform sampler2D tex0; uniform sampler2D tex0;
uniform float alphatest; uniform float alphatest;
varying vec2 texcoord0; in vec2 texcoord0;
]) ])
void main(void) void main(void)
{ {
@ -144,23 +144,23 @@ modelvertexshader = [
local modeltype local modeltype
modeltype = $arg1 modeltype = $arg1
result [ result [
attribute vec4 vvertex, vtangent; in vec4 vvertex, vtangent;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
@(if (mdlopt "b") [skelanimdefs $arg2 (mdlopt "n")]) @(if (mdlopt "b") [skelanimdefs $arg2 (mdlopt "n")])
uniform mat4 modelmatrix; uniform mat4 modelmatrix;
uniform mat3 modelworld; uniform mat3 modelworld;
uniform vec3 modelcamera; uniform vec3 modelcamera;
uniform vec2 texscroll; uniform vec2 texscroll;
@(? (mdlopt "n") [ @(? (mdlopt "n") [
varying mat3 world; out mat3 world;
] [ ] [
varying vec3 nvec; out vec3 nvec;
]) ])
@(? (mdlopt "e") [ @(? (mdlopt "e") [
varying vec3 camvec; out vec3 camvec;
]) ])
@(msaainterpvert) @(msaainterpvert)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -201,13 +201,13 @@ modelfragmentshader = [
modeltype = $arg1 modeltype = $arg1
result [ result [
@(? (mdlopt "n") [ @(? (mdlopt "n") [
varying mat3 world; in mat3 world;
] [ ] [
varying vec3 nvec; in vec3 nvec;
]) ])
@(? (mdlopt "e") [ @(? (mdlopt "e") [
uniform vec2 envmapscale; uniform vec2 envmapscale;
varying vec3 camvec; in vec3 camvec;
]) ])
uniform vec4 colorscale; uniform vec4 colorscale;
uniform vec2 fullbright; uniform vec2 fullbright;
@ -219,7 +219,7 @@ modelfragmentshader = [
@(? (mdlopt "n") [uniform sampler2D tex3;]) @(? (mdlopt "n") [uniform sampler2D tex3;])
@(? (|| (mdlopt "d") [mdlopt "D"]) [uniform sampler2D tex4;]) @(? (|| (mdlopt "d") [mdlopt "D"]) [uniform sampler2D tex4;])
@(msaainterpfrag) @(msaainterpfrag)
varying vec2 texcoord0; in vec2 texcoord0;
uniform float aamask; uniform float aamask;
void main(void) void main(void)
@ -308,14 +308,14 @@ rsmmodelvertexshader = [
local modeltype local modeltype
modeltype = $arg1 modeltype = $arg1
result [ result [
attribute vec4 vvertex, vtangent; in vec4 vvertex, vtangent;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
@(if (mdlopt "b") [skelanimdefs $arg2 (mdlopt "n")]) @(if (mdlopt "b") [skelanimdefs $arg2 (mdlopt "n")])
uniform mat4 modelmatrix; uniform mat4 modelmatrix;
uniform mat3 modelworld; uniform mat3 modelworld;
uniform vec2 texscroll; uniform vec2 texscroll;
varying vec2 texcoord0; out vec2 texcoord0;
varying vec3 nvec; out vec3 nvec;
void main(void) void main(void)
{ {
@(if (mdlopt "b") [ @(if (mdlopt "b") [
@ -339,14 +339,14 @@ rsmmodelfragmentshader = [
local modeltype local modeltype
modeltype = $arg1 modeltype = $arg1
result [ result [
varying vec2 texcoord0; in vec2 texcoord0;
varying vec3 nvec; in vec3 nvec;
uniform vec4 colorscale; uniform vec4 colorscale;
@(? (mdlopt "a") [uniform float alphatest;]) @(? (mdlopt "a") [uniform float alphatest;])
uniform vec3 rsmdir; uniform vec3 rsmdir;
uniform sampler2D tex0; uniform sampler2D tex0;
fragdata(0) vec4 gcolor; layout(location = 0) out vec4 gcolor;
fragdata(1) vec4 gnormal; layout(location = 1) out vec4 gnormal;
void main(void) void main(void)
{ {
vec4 diffuse = texture2D(tex0, texcoord0); vec4 diffuse = texture2D(tex0, texcoord0);

View File

@ -5,9 +5,9 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
lazyshader 0 "moviergb" [ lazyshader 0 "moviergb" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -15,8 +15,8 @@ lazyshader 0 "moviergb" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = texture2DRect(tex0, texcoord0); fragcolor = texture2DRect(tex0, texcoord0);
@ -24,9 +24,9 @@ lazyshader 0 "moviergb" [
] ]
lazyshader 0 "movieyuv" [ lazyshader 0 "movieyuv" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -34,8 +34,8 @@ lazyshader 0 "movieyuv" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 color = texture2DRect(tex0, texcoord0).rgb; vec3 color = texture2DRect(tex0, texcoord0).rgb;
@ -47,9 +47,9 @@ lazyshader 0 "movieyuv" [
] ]
lazyshader 0 "moviey" [ lazyshader 0 "moviey" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -57,8 +57,8 @@ lazyshader 0 "moviey" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 color1 = texture2DRectOffset(tex0, texcoord0, ivec2( -2, 0)).rgb; vec3 color1 = texture2DRectOffset(tex0, texcoord0, ivec2( -2, 0)).rgb;
@ -73,9 +73,9 @@ lazyshader 0 "moviey" [
] ]
lazyshader 0 "movieu" [ lazyshader 0 "movieu" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -83,8 +83,8 @@ lazyshader 0 "movieu" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 color1 = texture2DRectOffset(tex0, texcoord0, ivec2(-3, 0)).rgb; vec3 color1 = texture2DRectOffset(tex0, texcoord0, ivec2(-3, 0)).rgb;
@ -99,9 +99,9 @@ lazyshader 0 "movieu" [
] ]
lazyshader 0 "moviev" [ lazyshader 0 "moviev" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -109,8 +109,8 @@ lazyshader 0 "moviev" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 color1 = texture2DRectOffset(tex0, texcoord0, ivec2(-3, 0)).rgb; vec3 color1 = texture2DRectOffset(tex0, texcoord0, ivec2(-3, 0)).rgb;

View File

@ -11,18 +11,18 @@
explosionshader = [ explosionshader = [
shader 0 $arg1 [ shader 0 $arg1 [
//:fog //:fog
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
uniform mat4 explosionmatrix; uniform mat4 explosionmatrix;
uniform vec3 center; uniform vec3 center;
uniform float millis; uniform float millis;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform vec4 texgenS, texgenT; uniform vec4 texgenS, texgenT;
@(? (>= (strstr $arg1 "soft") 0) [ @(? (>= (strstr $arg1 "soft") 0) [
uniform vec2 lineardepthscale; uniform vec2 lineardepthscale;
varying float lineardepth; out float lineardepth;
]) ])
varying vec4 color; out vec4 color;
varying vec2 texcoord0, texcoord1, texcoord2; out vec2 texcoord0, texcoord1, texcoord2;
void main(void) void main(void)
{ {
vec4 wobble = vec4(vvertex.xyz*(1.0 + 0.5*abs(fract(dot(vvertex.xyz, center) + millis*2.0) - 0.5)), vvertex.w); vec4 wobble = vec4(vvertex.xyz*(1.0 + 0.5*abs(fract(dot(vvertex.xyz, center) + millis*2.0) - 0.5)), vvertex.w);
@ -42,13 +42,13 @@ explosionshader = [
@(if (>= (strstr $arg1 "soft") 0) [result [ @(if (>= (strstr $arg1 "soft") 0) [result [
@(gfetchdefs tex2) @(gfetchdefs tex2)
uniform vec3 softparams; uniform vec3 softparams;
varying float lineardepth; in float lineardepth;
]]) ]])
varying vec4 color; in vec4 color;
varying vec2 texcoord0, texcoord1, texcoord2; in vec2 texcoord0, texcoord1, texcoord2;
uniform sampler2D tex0; uniform sampler2D tex0;
uniform vec2 blendparams; uniform vec2 blendparams;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec2 dtc = texcoord0 + texture2D(tex0, texcoord2).xy*0.1; // use color texture as noise to distort texcoords vec2 dtc = texcoord0 + texture2D(tex0, texcoord2).xy*0.1; // use color texture as noise to distort texcoords
@ -74,18 +74,18 @@ explosionshader "explosionsoft"
shader 0 "particlenotexture" [ shader 0 "particlenotexture" [
//:fog //:fog
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec4 colorscale; uniform vec4 colorscale;
varying vec4 color; out vec4 color;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
color = vcolor * colorscale; color = vcolor * colorscale;
} }
] [ ] [
varying vec4 color; in vec4 color;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = color; fragcolor = color;
@ -94,12 +94,12 @@ shader 0 "particlenotexture" [
shader 0 "particletext" [ shader 0 "particletext" [
//:fog //:fog
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform float ldrscale; uniform float ldrscale;
varying vec4 color; out vec4 color;
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -109,9 +109,9 @@ shader 0 "particletext" [
] [ ] [
uniform vec4 textparams; uniform vec4 textparams;
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec4 color; in vec4 color;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
float dist = texture2D(tex0, texcoord0).r; float dist = texture2D(tex0, texcoord0).r;
@ -124,16 +124,16 @@ shader 0 "particletext" [
particleshader = [ particleshader = [
shader 0 $arg1 [ shader 0 $arg1 [
//:fog //:fog
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec4 colorscale; uniform vec4 colorscale;
varying vec4 color; out vec4 color;
varying vec2 texcoord0; out vec2 texcoord0;
@(? (>= (strstr $arg1 "soft") 0) [ @(? (>= (strstr $arg1 "soft") 0) [
uniform vec2 lineardepthscale; uniform vec2 lineardepthscale;
varying float lineardepth; out float lineardepth;
varying vec2 surface; out vec2 surface;
]) ])
void main(void) void main(void)
{ {
@ -150,13 +150,13 @@ particleshader = [
@(if (>= (strstr $arg1 "soft") 0) [result [ @(if (>= (strstr $arg1 "soft") 0) [result [
@(gfetchdefs tex2) @(gfetchdefs tex2)
uniform vec3 softparams; uniform vec3 softparams;
varying float lineardepth; in float lineardepth;
varying vec2 surface; in vec2 surface;
]]) ]])
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec4 color; in vec4 color;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 diffuse = texture2D(tex0, texcoord0); vec4 diffuse = texture2D(tex0, texcoord0);

View File

@ -5,9 +5,9 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
fsvs = [result [ fsvs = [result [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
@arg2 @arg2
void main(void) void main(void)
{ {
@ -19,8 +19,8 @@ fsvs = [result [
fsps = [result [ fsps = [result [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
@arg2 @arg2
void main(void) void main(void)
{ {
@ -37,7 +37,7 @@ fsvs4 = [
texcoord4 = vtexcoord0 + vec2( 1.5, 1.5); texcoord4 = vtexcoord0 + vec2( 1.5, 1.5);
@arg1 @arg1
] [ ] [
varying vec2 texcoord1, texcoord2, texcoord3, texcoord4; out vec2 texcoord1, texcoord2, texcoord3, texcoord4;
] ]
] ]
@ -49,7 +49,7 @@ fsps4 = [
vec4 s22 = texture2DRect(tex0, texcoord4); vec4 s22 = texture2DRect(tex0, texcoord4);
@arg1 @arg1
] [ ] [
varying vec2 texcoord1, texcoord2, texcoord3, texcoord4; in vec2 texcoord1, texcoord2, texcoord3, texcoord4;
] ]
] ]
@ -70,10 +70,10 @@ lazyshader 0 "sobel" (fsvs4) (fsps4 [
// rotoscope // rotoscope
lazyshader 0 "rotoscope" [ lazyshader 0 "rotoscope" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
uniform vec4 params; uniform vec4 params;
varying vec2 t11, t00, t12, t01, t20, t02, t21, t10, t22; out vec2 t11, t00, t12, t01, t20, t02, t21, t10, t22;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -89,8 +89,8 @@ lazyshader 0 "rotoscope" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 t11, t00, t12, t01, t20, t02, t21, t10, t22; in vec2 t11, t00, t12, t01, t20, t02, t21, t10, t22;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 c00 = texture2DRect(tex0, t00); vec4 c00 = texture2DRect(tex0, t00);
@ -125,9 +125,9 @@ lazyshader 0 "rotoscope" [
blur3shader = [ blur3shader = [
lazyshader 0 $arg1 [ lazyshader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0, texcoord1; out vec2 texcoord0, texcoord1;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -136,8 +136,8 @@ blur3shader = [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0, texcoord1; in vec2 texcoord0, texcoord1;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = 0.5*(texture2DRect(tex0, texcoord0) + texture2DRect(tex0, texcoord1)); fragcolor = 0.5*(texture2DRect(tex0, texcoord0) + texture2DRect(tex0, texcoord1));
@ -149,9 +149,9 @@ blur3shader vblur3 0 1
blur5shader = [ blur5shader = [
lazyshader 0 $arg1 [ lazyshader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0, texcoord1, texcoord2; out vec2 texcoord0, texcoord1, texcoord2;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -161,8 +161,8 @@ blur5shader = [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0, texcoord1, texcoord2; in vec2 texcoord0, texcoord1, texcoord2;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = 0.4*texture2DRect(tex0, texcoord0) + 0.3*(texture2DRect(tex0, texcoord1) + texture2DRect(tex0, texcoord2)); fragcolor = 0.4*texture2DRect(tex0, texcoord0) + 0.3*(texture2DRect(tex0, texcoord1) + texture2DRect(tex0, texcoord2));

View File

@ -5,9 +5,9 @@
////////////////////////////////////////////////////////////////////// //////////////////////////////////////////////////////////////////////
shader 0 "scalelinear" [ shader 0 "scalelinear" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -16,8 +16,8 @@ shader 0 "scalelinear" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@ -27,9 +27,9 @@ shader 0 "scalelinear" [
loop i 2 [ loop i 2 [
lazyshader 0 (? $i "scalecubicy" "scalecubicx") [ lazyshader 0 (? $i "scalecubicy" "scalecubicx") [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -38,8 +38,8 @@ loop i 2 [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
vec4 cubic(float s) vec4 cubic(float s)
{ {
@ -74,9 +74,9 @@ loop i 2 [
] ]
shader 0 "reorient" [ shader 0 "reorient" [
attribute vec4 vvertex; in vec4 vvertex;
uniform vec3 reorientx, reorienty; uniform vec3 reorientx, reorienty;
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -86,8 +86,8 @@ shader 0 "reorient" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {

View File

@ -8,26 +8,26 @@ ginterpdepth = [
result [ result [
uniform vec2 lineardepthscale; uniform vec2 lineardepthscale;
uniform vec3 gdepthpackparams; uniform vec3 gdepthpackparams;
varying float lineardepth; @arg1 float lineardepth;
] ]
] ]
ginterpvert = [ ginterpvert = [
if (|| $gdepthformat $arg1) [ginterpdepth] if (|| $gdepthformat $arg1) [ginterpdepth out]
] ]
msaainterpvert = [ginterpvert $msaasamples] msaainterpvert = [ginterpvert $msaasamples]
ginterpfrag = [ ginterpfrag = [
result [ result [
fragdata(0) vec4 gcolor; layout(location = 0) out vec4 gcolor;
fragdata(1) vec4 gnormal; layout(location = 1) out vec4 gnormal;
@(? $gdepthformat [ @(? $gdepthformat [
fragdata(2) vec4 gdepth; layout(location = 2) out vec4 gdepth;
fragdata(3) vec4 gglow; layout(location = 3) out vec4 gglow;
] [ ] [
fragdata(2) vec4 gglow; layout(location = 2) out vec4 gglow;
]) ])
@(if (|| $gdepthformat $arg1) [ginterpdepth]) @(if (|| $gdepthformat $arg1) [ginterpdepth in])
] ]
] ]
msaainterpfrag = [ginterpfrag $msaasamples] msaainterpfrag = [ginterpfrag $msaasamples]

View File

@ -5,12 +5,12 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
shader 0 "skybox" [ shader 0 "skybox" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 skymatrix; uniform mat4 skymatrix;
uniform float ldrscale; uniform float ldrscale;
varying vec4 colorscale; out vec4 colorscale;
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = skymatrix * vvertex; gl_Position = skymatrix * vvertex;
@ -19,9 +19,9 @@ shader 0 "skybox" [
} }
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec4 colorscale; in vec4 colorscale;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 color = texture2D(tex0, texcoord0); vec4 color = texture2D(tex0, texcoord0);
@ -30,12 +30,12 @@ shader 0 "skybox" [
] ]
shader 0 "skyboxoverbright" [ shader 0 "skyboxoverbright" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 skymatrix; uniform mat4 skymatrix;
uniform float ldrscale; uniform float ldrscale;
varying vec4 colorscale; out vec4 colorscale;
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = skymatrix * vvertex; gl_Position = skymatrix * vvertex;
@ -46,9 +46,9 @@ shader 0 "skyboxoverbright" [
uniform sampler2D tex0; uniform sampler2D tex0;
uniform vec3 overbrightparams; uniform vec3 overbrightparams;
uniform float ldrscale; uniform float ldrscale;
varying vec4 colorscale; in vec4 colorscale;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec4 color = texture2D(tex0, texcoord0); vec4 color = texture2D(tex0, texcoord0);
@ -60,9 +60,9 @@ shader 0 "skyboxoverbright" [
] ]
shader 0 "atmosphere" [ shader 0 "atmosphere" [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 sunmatrix; uniform mat4 sunmatrix;
varying vec3 camvec; out vec3 camvec;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -80,8 +80,8 @@ shader 0 "atmosphere" [
uniform vec3 betar, betam, betarm; uniform vec3 betar, betam, betarm;
uniform vec2 hdrgamma; uniform vec2 hdrgamma;
uniform float atmoalpha; uniform float atmoalpha;
varying vec3 camvec; in vec3 camvec;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
vec3 calcextinction(float dist) vec3 calcextinction(float dist)
{ {
@ -142,10 +142,10 @@ shader 0 "atmosphere" [
] ]
shader 0 "skyfog" [ shader 0 "skyfog" [
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
uniform mat4 skymatrix; uniform mat4 skymatrix;
uniform float ldrscale; uniform float ldrscale;
varying vec4 color; out vec4 color;
void main(void) void main(void)
{ {
gl_Position = skymatrix * vvertex; gl_Position = skymatrix * vvertex;
@ -153,8 +153,8 @@ shader 0 "skyfog" [
} }
] [ ] [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec4 color; in vec4 color;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = color; fragcolor = color;

View File

@ -93,9 +93,9 @@ smaadefs = [
] ]
shader 0 [SMAALumaEdgeDetection@smaapreset@smaaopts] [ shader 0 [SMAALumaEdgeDetection@smaapreset@smaaopts] [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -105,8 +105,8 @@ shader 0 [SMAALumaEdgeDetection@smaapreset@smaaopts] [
] [ ] [
@smaadefs @smaadefs
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@ -157,9 +157,9 @@ shader 0 [SMAALumaEdgeDetection@smaapreset@smaaopts] [
] ]
shader 0 [SMAAColorEdgeDetection@smaapreset@smaaopts] [ shader 0 [SMAAColorEdgeDetection@smaapreset@smaaopts] [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -169,8 +169,8 @@ shader 0 [SMAAColorEdgeDetection@smaapreset@smaaopts] [
] [ ] [
@smaadefs @smaadefs
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@ -214,9 +214,9 @@ shader 0 [SMAAColorEdgeDetection@smaapreset@smaaopts] [
shader 0 [SMAABlendingWeightCalculation@smaapreset@smaaopts] [ shader 0 [SMAABlendingWeightCalculation@smaapreset@smaaopts] [
@smaadefs @smaadefs
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0, texcoord1, texcoord2, texcoord3, texcoord4, texcoord5; out vec2 texcoord0, texcoord1, texcoord2, texcoord3, texcoord4, texcoord5;
void main(void) void main(void)
{ {
@ -232,10 +232,10 @@ shader 0 [SMAABlendingWeightCalculation@smaapreset@smaaopts] [
} }
] [ ] [
@smaadefs @smaadefs
varying vec2 texcoord0, texcoord1, texcoord2, texcoord3, texcoord4, texcoord5; in vec2 texcoord0, texcoord1, texcoord2, texcoord3, texcoord4, texcoord5;
uniform sampler2DRect tex0, tex1, tex2; uniform sampler2DRect tex0, tex1, tex2;
uniform vec4 subsamples; uniform vec4 subsamples;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
#if __VERSION__ >= 130 || defined(GL_EXT_gpu_shader4) #if __VERSION__ >= 130 || defined(GL_EXT_gpu_shader4)
#define SMAARound(e) round(e) #define SMAARound(e) round(e)
@ -563,9 +563,9 @@ shader 0 [SMAABlendingWeightCalculation@smaapreset@smaaopts] [
] ]
shader 0 [SMAANeighborhoodBlending@smaapreset@smaaopts] [ shader 0 [SMAANeighborhoodBlending@smaapreset@smaaopts] [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -574,10 +574,10 @@ shader 0 [SMAANeighborhoodBlending@smaapreset@smaaopts] [
} }
] [ ] [
@smaadefs @smaadefs
varying vec2 texcoord0; in vec2 texcoord0;
uniform sampler2DRect tex0, tex1; uniform sampler2DRect tex0, tex1;
@(? (smaaopt "s") [uniform sampler2DRect tex2, tex3;]) @(? (smaaopt "s") [uniform sampler2DRect tex2, tex3;])
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
// Neighborhood Blending Pixel Shader (Third Pass) // Neighborhood Blending Pixel Shader (Third Pass)

View File

@ -18,12 +18,12 @@ stainvariantshader = [
@(? (stainopt "f") [ @(? (stainopt "f") [
//:fog //:fog
]) ])
attribute vec4 vvertex, vcolor; in vec4 vvertex, vcolor;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec4 colorscale; uniform vec4 colorscale;
varying vec4 color; out vec4 color;
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = camprojmatrix * vvertex; gl_Position = camprojmatrix * vvertex;
@ -32,11 +32,11 @@ stainvariantshader = [
} }
]]) [ ]]) [
uniform sampler2D tex0; uniform sampler2D tex0;
varying vec4 color; in vec4 color;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
@(? (stainopt "t") [ @(? (stainopt "t") [
fragdata(1) vec4 gglow; layout(location = 1) out vec4 gglow;
]) ])
void main(void) void main(void)
{ {

View File

@ -5,9 +5,9 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
shader 0 "hdrreduce" [ shader 0 "hdrreduce" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -15,8 +15,8 @@ shader 0 "hdrreduce" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor.rgb = texture2DRect(tex0, texcoord0).rgb; fragcolor.rgb = texture2DRect(tex0, texcoord0).rgb;
@ -24,9 +24,9 @@ shader 0 "hdrreduce" [
] ]
shader 0 "hdrreduce2w" [ shader 0 "hdrreduce2w" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -34,8 +34,8 @@ shader 0 "hdrreduce2w" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor.rgb = 0.5*(texture2DRectOffset(tex0, texcoord0, ivec2(-1, 0)).rgb + texture2DRectOffset(tex0, texcoord0, ivec2(1, 0)).rgb); fragcolor.rgb = 0.5*(texture2DRectOffset(tex0, texcoord0, ivec2(-1, 0)).rgb + texture2DRectOffset(tex0, texcoord0, ivec2(1, 0)).rgb);
@ -43,9 +43,9 @@ shader 0 "hdrreduce2w" [
] ]
shader 0 "hdrreduce2" [ shader 0 "hdrreduce2" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -53,8 +53,8 @@ shader 0 "hdrreduce2" [
} }
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor.rgb = 0.25*(texture2DRectOffset(tex0, texcoord0, ivec2(-1, -1)).rgb + texture2DRectOffset(tex0, texcoord0, ivec2(1, -1)).rgb + fragcolor.rgb = 0.25*(texture2DRectOffset(tex0, texcoord0, ivec2(-1, -1)).rgb + texture2DRectOffset(tex0, texcoord0, ivec2(1, -1)).rgb +
@ -63,14 +63,14 @@ shader 0 "hdrreduce2" [
] ]
lazyshader 0 msaaresolve [ lazyshader 0 msaaresolve [
attribute vec4 vvertex; in vec4 vvertex;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
} }
] [ ] [
uniform sampler2DMS tex0; uniform sampler2DMS tex0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = texelFetch(tex0, ivec2(gl_FragCoord.xy), 0); fragcolor = texelFetch(tex0, ivec2(gl_FragCoord.xy), 0);
@ -78,7 +78,7 @@ lazyshader 0 msaaresolve [
] ]
lazyshader 0 msaaresolvedepth [ lazyshader 0 msaaresolvedepth [
attribute vec4 vvertex; in vec4 vvertex;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -88,7 +88,7 @@ lazyshader 0 msaaresolvedepth [
@(if $gdepthformat [result [ @(if $gdepthformat [result [
@(gdepthunpackparams) @(gdepthunpackparams)
uniform vec2 gdepthinvscale; uniform vec2 gdepthinvscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
]]) ]])
void main(void) void main(void)
{ {
@ -104,9 +104,9 @@ lazyshader 0 msaaresolvedepth [
] ]
lazyshader 0 msaareducew [ lazyshader 0 msaareducew [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 tap0, tap1; out vec2 tap0, tap1;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -115,8 +115,8 @@ lazyshader 0 msaareducew [
} }
] [ ] [
uniform sampler2DMS tex0; uniform sampler2DMS tex0;
varying vec2 tap0, tap1; in vec2 tap0, tap1;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = 0.5*(texelFetch(tex0, ivec2(tap0), 0) + texelFetch(tex0, ivec2(tap1), 0)); fragcolor = 0.5*(texelFetch(tex0, ivec2(tap0), 0) + texelFetch(tex0, ivec2(tap1), 0));
@ -124,9 +124,9 @@ lazyshader 0 msaareducew [
] ]
lazyshader 0 msaareduce [ lazyshader 0 msaareduce [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 tap0, tap1, tap2, tap3; out vec2 tap0, tap1, tap2, tap3;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -137,8 +137,8 @@ lazyshader 0 msaareduce [
} }
] [ ] [
uniform sampler2DMS tex0; uniform sampler2DMS tex0;
varying vec2 tap0, tap1, tap2, tap3; in vec2 tap0, tap1, tap2, tap3;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
fragcolor = 0.25*(texelFetch(tex0, ivec2(tap0), 0) + texelFetch(tex0, ivec2(tap1), 0) + fragcolor = 0.25*(texelFetch(tex0, ivec2(tap0), 0) + texelFetch(tex0, ivec2(tap1), 0) +
@ -166,9 +166,9 @@ hdrgammaencode = [
] ]
shader 0 "hdrluminance" [ shader 0 "hdrluminance" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -177,8 +177,8 @@ shader 0 "hdrluminance" [
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
uniform vec2 hdrgamma; uniform vec2 hdrgamma;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 color = texture2DRect(tex0, texcoord0).rgb*2.0; vec3 color = texture2DRect(tex0, texcoord0).rgb*2.0;
@ -190,9 +190,9 @@ shader 0 "hdrluminance" [
] ]
shader 0 "hdrluminance2w" [ shader 0 "hdrluminance2w" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -201,8 +201,8 @@ shader 0 "hdrluminance2w" [
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
uniform vec2 hdrgamma; uniform vec2 hdrgamma;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@(loopconcat i 2 [result [ @(loopconcat i 2 [result [
@ -216,9 +216,9 @@ shader 0 "hdrluminance2w" [
] ]
shader 0 "hdrluminance2" [ shader 0 "hdrluminance2" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -227,8 +227,8 @@ shader 0 "hdrluminance2" [
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
uniform vec2 hdrgamma; uniform vec2 hdrgamma;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
@(loopconcat i 4 [result [ @(loopconcat i 4 [result [
@ -242,7 +242,7 @@ shader 0 "hdrluminance2" [
] ]
shader 0 "hdraccum" [ shader 0 "hdraccum" [
attribute vec4 vvertex; in vec4 vvertex;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -250,7 +250,7 @@ shader 0 "hdraccum" [
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
uniform float accumscale; uniform float accumscale;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
float lum = texture2DRect(tex0, vec2(0.5, 0.5)).r * 2.0; float lum = texture2DRect(tex0, vec2(0.5, 0.5)).r * 2.0;
@ -260,16 +260,16 @@ shader 0 "hdraccum" [
] ]
shader 0 "hdrbloom" [ shader 0 "hdrbloom" [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
@(? (>= $hwvtexunits 4) [ @(? (>= $hwvtexunits 4) [
uniform sampler2D tex2; uniform sampler2D tex2;
] [ ] [
attribute float vcolor; in float vcolor;
]) ])
uniform vec4 hdrparams; uniform vec4 hdrparams;
varying vec2 texcoord0; out vec2 texcoord0;
flat varying float lumscale, lumthreshold; flat out float lumscale, lumthreshold;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -281,9 +281,9 @@ shader 0 "hdrbloom" [
] [ ] [
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
uniform vec2 hdrgamma; uniform vec2 hdrgamma;
varying vec2 texcoord0; in vec2 texcoord0;
flat varying float lumscale, lumthreshold; flat in float lumscale, lumthreshold;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 color = texture2DRect(tex0, texcoord0).rgb*2.0; vec3 color = texture2DRect(tex0, texcoord0).rgb*2.0;
@ -297,17 +297,17 @@ shader 0 "hdrbloom" [
hdrtonemapvertexshader = [ hdrtonemapvertexshader = [
result [ result [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
@(screentexcoord 1) @(screentexcoord 1)
@(? (>= $hwvtexunits 4) [ @(? (>= $hwvtexunits 4) [
uniform sampler2D tex2; uniform sampler2D tex2;
] [ ] [
attribute float vcolor; in float vcolor;
]) ])
uniform vec4 hdrparams; uniform vec4 hdrparams;
varying vec2 texcoord0, texcoord1; out vec2 texcoord0, texcoord1;
flat varying float lumscale, lumsaturate; flat out float lumscale, lumsaturate;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -333,16 +333,16 @@ hdrtonemapdefs = [
result [ result [
uniform vec4 hdrparams; uniform vec4 hdrparams;
uniform vec2 hdrgamma; uniform vec2 hdrgamma;
varying vec2 texcoord0, texcoord1; in vec2 texcoord0, texcoord1;
flat varying float lumscale, lumsaturate; flat in float lumscale, lumsaturate;
] ]
] ]
hdrtonemapshaders = [ hdrtonemapshaders = [
(? $arg1 lazyshader shader) 0 [hdrnop@arg1] [ (? $arg1 lazyshader shader) 0 [hdrnop@arg1] [
attribute vec4 vvertex; in vec4 vvertex;
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
gl_Position = vvertex; gl_Position = vvertex;
@ -351,8 +351,8 @@ hdrtonemapshaders = [
] [ ] [
@arg2 @arg2
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 color = texture2DRect(tex0, texcoord0).rgb; vec3 color = texture2DRect(tex0, texcoord0).rgb;
@ -366,7 +366,7 @@ hdrtonemapshaders = [
@arg2 @arg2
uniform sampler2DRect tex0, tex1; uniform sampler2DRect tex0, tex1;
@(hdrtonemapdefs) @(hdrtonemapdefs)
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 bloom = texture2DRect(tex1, texcoord1).rgb*hdrparams.w; vec3 bloom = texture2DRect(tex1, texcoord1).rgb*hdrparams.w;
@ -391,7 +391,7 @@ msaatonemapshaders = [
uniform sampler2DRect tex1; uniform sampler2DRect tex1;
uniform sampler2DMS tex0; uniform sampler2DMS tex0;
@(hdrtonemapdefs) @(hdrtonemapdefs)
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 bloom = texture2DRect(tex1, texcoord1).rgb*hdrparams.w; vec3 bloom = texture2DRect(tex1, texcoord1).rgb*hdrparams.w;
@ -409,7 +409,7 @@ msaatonemapshaders = [
uniform sampler2DRect tex1; uniform sampler2DRect tex1;
uniform sampler2DMS tex0; uniform sampler2DMS tex0;
@(hdrtonemapdefs) @(hdrtonemapdefs)
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
vec3 bloom = texture2DRect(tex1, texcoord1).rgb*hdrparams.w; vec3 bloom = texture2DRect(tex1, texcoord1).rgb*hdrparams.w;
@ -437,7 +437,7 @@ msaasplitshaders = [
uniform sampler2DMS tex0; uniform sampler2DMS tex0;
@(hdrtonemapdefs) @(hdrtonemapdefs)
@(loopconcat i $msaasamples [result [ @(loopconcat i $msaasamples [result [
fragdata(@i) vec4 fragcolor@i; layout(location = @i) out vec4 fragcolor@i;
]]) ]])
void main(void) void main(void)
{ {

View File

@ -5,9 +5,9 @@
//////////////////////////////////////////////// ////////////////////////////////////////////////
lazyshader 0 "modelpreview" [ lazyshader 0 "modelpreview" [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
varying vec2 texcoord0; out vec2 texcoord0;
void main(void) void main(void)
{ {
@ -22,8 +22,8 @@ lazyshader 0 "modelpreview" [
uniform vec3 sunlightdir; uniform vec3 sunlightdir;
uniform vec3 sunlightcolor; uniform vec3 sunlightcolor;
uniform float cutout; uniform float cutout;
varying vec2 texcoord0; in vec2 texcoord0;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {

View File

@ -6,7 +6,7 @@ volumetricvariantshader = [
maxsteps = $arg4 maxsteps = $arg4
spotlight = (>= $arg2 1) spotlight = (>= $arg2 1)
variantshader 0 $arg1 $arg2 (? (< $arg2 0) [ variantshader 0 $arg1 $arg2 (? (< $arg2 0) [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 lightmatrix; uniform mat4 lightmatrix;
void main(void) void main(void)
{ {
@ -43,7 +43,7 @@ volumetricvariantshader = [
uniform float volminstep; uniform float volminstep;
uniform float voldistclamp; uniform float voldistclamp;
uniform float volprefilter; uniform float volprefilter;
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
@(if (volopt "p") [ @(if (volopt "p") [
? $spotlight [ ? $spotlight [
@ -183,10 +183,10 @@ volumetricbilateralvariantshader = [
reduced = $arg3 reduced = $arg3
filterdir = $arg4 filterdir = $arg4
shader 0 $arg1 [ shader 0 $arg1 [
attribute vec4 vvertex; in vec4 vvertex;
@(if $reduced [result [ @(if $reduced [result [
@(screentexcoord 0) @(screentexcoord 0)
varying vec2 texcoord0; out vec2 texcoord0;
]]) ]])
void main(void) void main(void)
{ {
@ -197,8 +197,8 @@ volumetricbilateralvariantshader = [
@(gfetchdefs tex3) @(gfetchdefs tex3)
uniform sampler2DRect tex0; uniform sampler2DRect tex0;
uniform vec2 bilateralparams; uniform vec2 bilateralparams;
@(? $reduced [varying vec2 texcoord0;]) @(? $reduced [in vec2 texcoord0;])
fragdata(0) vec4 fragcolor; layout(location = 0) out vec4 fragcolor;
void main(void) void main(void)
{ {
#define tc gl_FragCoord.xy #define tc gl_FragCoord.xy

View File

@ -58,25 +58,25 @@ worldvariantshader = [
srow = 1 srow = 1
] ]
variantshader $stype $arg1 $srow [ variantshader $stype $arg1 $srow [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec2 texgenscroll; uniform vec2 texgenscroll;
varying vec3 nvec; out vec3 nvec;
@(ginterpvert (|| $msaalight [&& $msaasamples [! (wtopt "a")]])) @(ginterpvert (|| $msaalight [&& $msaasamples [! (wtopt "a")]]))
@(if (wtopt "T") [result [ @(if (wtopt "T") [result [
uniform vec2 texgenscale; uniform vec2 texgenscale;
varying vec2 texcoordx, texcoordy, texcoordz; out vec2 texcoordx, texcoordy, texcoordz;
@(? (wtopt "d") [uniform vec2 detailscale;]) @(? (wtopt "d") [uniform vec2 detailscale;])
]] [result [ ]] [result [
varying vec2 texcoord0; out vec2 texcoord0;
]]) ]])
@(? (wtopt "r") [uniform vec3 camera; varying vec3 camvec;]) @(? (wtopt "r") [uniform vec3 camera; out vec3 camvec;])
@(? (wtopt "G") [uniform float millis; flat varying float pulse;]) @(? (wtopt "G") [uniform float millis; flat out float pulse;])
@(? (wtopt "b") [ @(? (wtopt "b") [
uniform vec4 blendmapparams; uniform vec4 blendmapparams;
varying vec2 texcoord1; out vec2 texcoord1;
]) ])
void main(void) void main(void)
@ -110,21 +110,21 @@ worldvariantshader = [
uniform vec4 colorparams; uniform vec4 colorparams;
uniform sampler2D diffusemap; uniform sampler2D diffusemap;
@(? (|| $msaalight [&& $msaasamples [! (wtopt "a")]]) [uniform float hashid;]) @(? (|| $msaalight [&& $msaasamples [! (wtopt "a")]]) [uniform float hashid;])
varying vec3 nvec; in vec3 nvec;
@(ginterpfrag (|| $msaalight [&& $msaasamples [! (wtopt "a")]])) @(ginterpfrag (|| $msaalight [&& $msaasamples [! (wtopt "a")]]))
@(if (wtopt "T") [result [ @(if (wtopt "T") [result [
varying vec2 texcoordx, texcoordy, texcoordz; in vec2 texcoordx, texcoordy, texcoordz;
@(? (wtopt "d") [uniform sampler2D detaildiffusemap;]) @(? (wtopt "d") [uniform sampler2D detaildiffusemap;])
]] [result [ ]] [result [
varying vec2 texcoord0; in vec2 texcoord0;
]]) ]])
@(? (wtopt "g") [uniform sampler2D glowmap;]) @(? (wtopt "g") [uniform sampler2D glowmap;])
@(? (wtopt "G") [flat varying float pulse;]) @(? (wtopt "G") [flat in float pulse;])
@(? (wtopt "r") [uniform samplerCube envmap; varying vec3 camvec;]) @(? (wtopt "r") [uniform samplerCube envmap; in vec3 camvec;])
@(? (wtopt "b") [ @(? (wtopt "b") [
uniform float blendlayer; uniform float blendlayer;
uniform sampler2D blendmap; uniform sampler2D blendmap;
varying vec2 texcoord1; in vec2 texcoord1;
]) ])
void main(void) void main(void)
@ -291,30 +291,30 @@ bumpvariantshader = [
srow = 1 srow = 1
] ]
variantshader $stype $arg1 $srow [ variantshader $stype $arg1 $srow [
attribute vec4 vvertex, vtangent; in vec4 vvertex, vtangent;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 camprojmatrix; uniform mat4 camprojmatrix;
uniform vec2 texgenscroll; uniform vec2 texgenscroll;
@(ginterpvert (|| $msaalight [&& $msaasamples [! (btopt "a")]] [btopt "A"])) @(ginterpvert (|| $msaalight [&& $msaasamples [! (btopt "a")]] [btopt "A"]))
@(if (btopt "T") [result [ @(if (btopt "T") [result [
uniform vec2 texgenscale; uniform vec2 texgenscale;
varying vec2 texcoordx, texcoordy, texcoordz; out vec2 texcoordx, texcoordy, texcoordz;
varying vec3 normal; out vec3 normal;
varying vec3 tangentx, tangenty, tangentz; out vec3 tangentx, tangenty, tangentz;
@(? (btopt "d") [uniform vec2 detailscale;]) @(? (btopt "d") [uniform vec2 detailscale;])
]] [result [ ]] [result [
varying vec2 texcoord0; out vec2 texcoord0;
varying mat3 world; out mat3 world;
]]) ]])
@(? (|| (btopt "p") (btopt "r") (btopt "T")) [ @(? (|| (btopt "p") (btopt "r") (btopt "T")) [
uniform vec3 camera; uniform vec3 camera;
varying vec3 camvec; out vec3 camvec;
]) ])
@(? (btopt "G") [uniform float millis; flat varying float pulse;]) @(? (btopt "G") [uniform float millis; flat out float pulse;])
@(? (btopt "b") [ @(? (btopt "b") [
uniform vec4 blendmapparams; uniform vec4 blendmapparams;
varying vec2 texcoord1; out vec2 texcoord1;
]) ])
void main(void) void main(void)
@ -361,23 +361,23 @@ bumpvariantshader = [
uniform vec4 colorparams; uniform vec4 colorparams;
uniform sampler2D diffusemap, normalmap; uniform sampler2D diffusemap, normalmap;
@(? (|| $msaalight [&& $msaasamples [! (btopt "a")]]) [uniform float hashid;]) @(? (|| $msaalight [&& $msaasamples [! (btopt "a")]]) [uniform float hashid;])
varying mat3 world; in mat3 world;
@(ginterpfrag (|| $msaalight [&& $msaasamples [! (btopt "a")]] [btopt "A"])) @(ginterpfrag (|| $msaalight [&& $msaasamples [! (btopt "a")]] [btopt "A"]))
@(if (btopt "T") [result [ @(if (btopt "T") [result [
varying vec2 texcoordx, texcoordy, texcoordz; in vec2 texcoordx, texcoordy, texcoordz;
varying vec3 normal, tangentx, tangenty, tangentz; in vec3 normal, tangentx, tangenty, tangentz;
@(? (btopt "d") [uniform sampler2D detaildiffusemap, detailnormalmap;]) @(? (btopt "d") [uniform sampler2D detaildiffusemap, detailnormalmap;])
]] [result [ ]] [result [
varying vec2 texcoord0; in vec2 texcoord0;
]]) ]])
@(? (|| (btopt "p") (btopt "r") (btopt "T")) [varying vec3 camvec;]) @(? (|| (btopt "p") (btopt "r") (btopt "T")) [in vec3 camvec;])
@(? (btopt "g") [uniform sampler2D glowmap;]) @(? (btopt "g") [uniform sampler2D glowmap;])
@(? (btopt "G") [flat varying float pulse;]) @(? (btopt "G") [flat in float pulse;])
@(? (btopt "r") [uniform samplerCube envmap;]) @(? (btopt "r") [uniform samplerCube envmap;])
@(? (btopt "b") [ @(? (btopt "b") [
uniform float blendlayer; uniform float blendlayer;
uniform sampler2D blendmap; uniform sampler2D blendmap;
varying vec2 texcoord1; in vec2 texcoord1;
]) ])
void main(void) void main(void)
@ -574,7 +574,7 @@ bumpshader "triplanardetailbumpspecparallaxworld" "Tdps"
bumpshader "triplanardetailbumpspecmapparallaxworld" "TdpsS" bumpshader "triplanardetailbumpspecmapparallaxworld" "TdpsS"
shader 0 shadowmapworld [ shader 0 shadowmapworld [
attribute vec4 vvertex; in vec4 vvertex;
uniform mat4 shadowmatrix; uniform mat4 shadowmatrix;
void main(void) void main(void)
{ {
@ -589,18 +589,18 @@ shader 0 shadowmapworld [
defershader 1 "rsmworld" [ defershader 1 "rsmworld" [
loop i 2 [ loop i 2 [
variantshader 1 "rsmworld" (- $i 1) [ variantshader 1 "rsmworld" (- $i 1) [
attribute vec4 vvertex; in vec4 vvertex;
attribute vec3 vnormal; in vec3 vnormal;
attribute vec2 vtexcoord0; in vec2 vtexcoord0;
uniform mat4 rsmmatrix; uniform mat4 rsmmatrix;
uniform vec2 texgenscroll; uniform vec2 texgenscroll;
uniform vec4 colorparams; uniform vec4 colorparams;
uniform vec3 rsmdir; uniform vec3 rsmdir;
varying vec4 normal; out vec4 normal;
varying vec2 texcoord0; out vec2 texcoord0;
@(? (= $i 1) [ @(? (= $i 1) [
uniform vec4 blendmapparams; uniform vec4 blendmapparams;
varying vec2 texcoord1; out vec2 texcoord1;
]) ])
void main(void) void main(void)
{ {
@ -614,15 +614,15 @@ defershader 1 "rsmworld" [
] [ ] [
uniform vec4 colorparams; uniform vec4 colorparams;
uniform sampler2D diffusemap; uniform sampler2D diffusemap;
varying vec4 normal; in vec4 normal;
varying vec2 texcoord0; in vec2 texcoord0;
@(? (= $i 1) [ @(? (= $i 1) [
uniform float blendlayer; uniform float blendlayer;
uniform sampler2D blendmap; uniform sampler2D blendmap;
varying vec2 texcoord1; in vec2 texcoord1;
]) ])
fragdata(0) vec4 gcolor; layout(location = 0) out vec4 gcolor;
fragdata(1) vec4 gnormal; layout(location = 1) out vec4 gnormal;
void main(void) void main(void)
{ {
vec4 diffuse = texture2D(diffusemap, texcoord0); vec4 diffuse = texture2D(diffusemap, texcoord0);

View File

@ -109,45 +109,6 @@ static void showglslinfo(GLenum type, GLuint obj, const char *name, const char *
} }
} }
static const char *finddecls(const char *line)
{
for(;;)
{
const char *start = line + strspn(line, " \t\r");
switch(*start)
{
case '\n':
line = start + 1;
continue;
case '#':
do
{
start = strchr(start + 1, '\n');
if(!start) return NULL;
} while(start[-1] == '\\');
line = start + 1;
continue;
case '/':
switch(start[1])
{
case '/':
start = strchr(start + 2, '\n');
if(!start) return NULL;
line = start + 1;
continue;
case '*':
start = strstr(start + 2, "*/");
if(!start) return NULL;
line = start + 2;
continue;
}
// fall-through
default:
return line;
}
}
}
static void compileglslshader(Shader &s, GLenum type, GLuint &obj, const char *def, const char *name, bool msg = true) static void compileglslshader(Shader &s, GLenum type, GLuint &obj, const char *def, const char *name, bool msg = true)
{ {
const char *source = def + strspn(def, " \t\r\n"); const char *source = def + strspn(def, " \t\r\n");
@ -155,16 +116,6 @@ static void compileglslshader(Shader &s, GLenum type, GLuint &obj, const char *d
int numparts = 0; int numparts = 0;
parts[numparts++] = "#version 400\n"; parts[numparts++] = "#version 400\n";
if(type == GL_VERTEX_SHADER) parts[numparts++] =
"#define attribute in\n"
"#define varying out\n";
else if(type == GL_FRAGMENT_SHADER)
{
parts[numparts++] = "#define varying in\n";
parts[numparts++] =
"#define fragdata(loc) layout(location = loc) out\n"
"#define fragblend(loc) layout(location = loc, index = 1) out\n";
}
parts[numparts++] = parts[numparts++] =
"#define texture1D(sampler, coords) texture(sampler, coords)\n" "#define texture1D(sampler, coords) texture(sampler, coords)\n"
"#define texture2D(sampler, coords) texture(sampler, coords)\n" "#define texture2D(sampler, coords) texture(sampler, coords)\n"
@ -724,7 +675,7 @@ static void genfogshader(vector<char> &vsbuf, vector<char> &psbuf, const char *v
if(!strstr(vs, "lineardepth")) if(!strstr(vs, "lineardepth"))
{ {
vsbuf.put(vs, vsmain - vs); vsbuf.put(vs, vsmain - vs);
const char *fogparams = "\nuniform vec2 lineardepthscale;\nvarying float lineardepth;\n"; const char *fogparams = "\nuniform vec2 lineardepthscale;\nout float lineardepth;\n";
vsbuf.put(fogparams, strlen(fogparams)); vsbuf.put(fogparams, strlen(fogparams));
vsbuf.put(vsmain, vsend - vsmain); vsbuf.put(vsmain, vsend - vsmain);
const char *vsfog = "\nlineardepth = dot(lineardepthscale, gl_Position.zw);\n"; const char *vsfog = "\nlineardepth = dot(lineardepthscale, gl_Position.zw);\n";
@ -738,7 +689,7 @@ static void genfogshader(vector<char> &vsbuf, vector<char> &psbuf, const char *v
psbuf.put(ps, psmain - ps); psbuf.put(ps, psmain - ps);
if(!strstr(ps, "lineardepth")) if(!strstr(ps, "lineardepth"))
{ {
const char *foginterp = "\nvarying float lineardepth;\n"; const char *foginterp = "\nin float lineardepth;\n";
psbuf.put(foginterp, strlen(foginterp)); psbuf.put(foginterp, strlen(foginterp));
} }
const char *fogparams = const char *fogparams =
@ -811,39 +762,39 @@ void setupshaders()
standardshaders = true; standardshaders = true;
nullshader = newshader(0, "<init>null", nullshader = newshader(0, "<init>null",
"attribute vec4 vvertex;\n" "in vec4 vvertex;\n"
"void main(void) {\n" "void main(void) {\n"
" gl_Position = vvertex;\n" " gl_Position = vvertex;\n"
"}\n", "}\n",
"fragdata(0) vec4 fragcolor;\n" "layout(location = 0) out vec4 fragcolor;\n"
"void main(void) {\n" "void main(void) {\n"
" fragcolor = vec4(1.0, 0.0, 1.0, 1.0);\n" " fragcolor = vec4(1.0, 0.0, 1.0, 1.0);\n"
"}\n"); "}\n");
hudshader = newshader(0, "<init>hud", hudshader = newshader(0, "<init>hud",
"attribute vec4 vvertex, vcolor;\n" "in vec4 vvertex, vcolor;\n"
"attribute vec2 vtexcoord0;\n" "in vec2 vtexcoord0;\n"
"uniform mat4 hudmatrix;\n" "uniform mat4 hudmatrix;\n"
"varying vec2 texcoord0;\n" "out vec2 texcoord0;\n"
"varying vec4 colorscale;\n" "out vec4 colorscale;\n"
"void main(void) {\n" "void main(void) {\n"
" gl_Position = hudmatrix * vvertex;\n" " gl_Position = hudmatrix * vvertex;\n"
" texcoord0 = vtexcoord0;\n" " texcoord0 = vtexcoord0;\n"
" colorscale = vcolor;\n" " colorscale = vcolor;\n"
"}\n", "}\n",
"uniform sampler2D tex0;\n" "uniform sampler2D tex0;\n"
"varying vec2 texcoord0;\n" "in vec2 texcoord0;\n"
"varying vec4 colorscale;\n" "in vec4 colorscale;\n"
"fragdata(0) vec4 fragcolor;\n" "layout(location = 0) out vec4 fragcolor;\n"
"void main(void) {\n" "void main(void) {\n"
" vec4 color = texture2D(tex0, texcoord0);\n" " vec4 color = texture2D(tex0, texcoord0);\n"
" fragcolor = colorscale * color;\n" " fragcolor = colorscale * color;\n"
"}\n"); "}\n");
hudtextshader = newshader(0, "<init>hudtext", hudtextshader = newshader(0, "<init>hudtext",
"attribute vec4 vvertex, vcolor;\n" "in vec4 vvertex, vcolor;\n"
"attribute vec2 vtexcoord0;\n" "in vec2 vtexcoord0;\n"
"uniform mat4 hudmatrix;\n" "uniform mat4 hudmatrix;\n"
"varying vec2 texcoord0;\n" "out vec2 texcoord0;\n"
"varying vec4 colorscale;\n" "out vec4 colorscale;\n"
"void main(void) {\n" "void main(void) {\n"
" gl_Position = hudmatrix * vvertex;\n" " gl_Position = hudmatrix * vvertex;\n"
" texcoord0 = vtexcoord0;\n" " texcoord0 = vtexcoord0;\n"
@ -851,9 +802,9 @@ void setupshaders()
"}\n", "}\n",
"uniform sampler2D tex0;\n" "uniform sampler2D tex0;\n"
"uniform vec4 textparams;\n" "uniform vec4 textparams;\n"
"varying vec2 texcoord0;\n" "in vec2 texcoord0;\n"
"varying vec4 colorscale;\n" "in vec4 colorscale;\n"
"fragdata(0) vec4 fragcolor;\n" "layout(location = 0) out vec4 fragcolor;\n"
"void main(void) {\n" "void main(void) {\n"
" float dist = texture2D(tex0, texcoord0).r;\n" " float dist = texture2D(tex0, texcoord0).r;\n"
" float border = smoothstep(textparams.x, textparams.y, dist);\n" " float border = smoothstep(textparams.x, textparams.y, dist);\n"
@ -861,15 +812,15 @@ void setupshaders()
" fragcolor = vec4(colorscale.rgb * outline, colorscale.a * border);\n" " fragcolor = vec4(colorscale.rgb * outline, colorscale.a * border);\n"
"}\n"); "}\n");
hudnotextureshader = newshader(0, "<init>hudnotexture", hudnotextureshader = newshader(0, "<init>hudnotexture",
"attribute vec4 vvertex, vcolor;\n" "in vec4 vvertex, vcolor;\n"
"uniform mat4 hudmatrix;" "uniform mat4 hudmatrix;"
"varying vec4 color;\n" "out vec4 color;\n"
"void main(void) {\n" "void main(void) {\n"
" gl_Position = hudmatrix * vvertex;\n" " gl_Position = hudmatrix * vvertex;\n"
" color = vcolor;\n" " color = vcolor;\n"
"}\n", "}\n",
"varying vec4 color;\n" "in vec4 color;\n"
"fragdata(0) vec4 fragcolor;\n" "layout(location = 0) out vec4 fragcolor;\n"
"void main(void) {\n" "void main(void) {\n"
" fragcolor = color;\n" " fragcolor = color;\n"
"}\n"); "}\n");