forked from OctaForge/OctaCore
shaders: attribute/varying -> in/out
parent
d77a25fbc8
commit
cf88690a76
|
@ -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,7 +40,6 @@ 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;
|
||||||
|
@ -56,14 +49,6 @@ lazyshader 0 "tqaaresolve" [
|
||||||
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);
|
||||||
|
|
|
@ -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])
|
||||||
|
|
|
@ -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))
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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 [
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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)
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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));
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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]
|
||||||
|
|
|
@ -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;
|
||||||
|
|
|
@ -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)
|
||||||
|
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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)
|
||||||
{
|
{
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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);
|
||||||
|
|
|
@ -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");
|
||||||
|
|
Loading…
Reference in New Issue