From a579e9195ad1ce37e27e17c458e9f372024c05cc Mon Sep 17 00:00:00 2001 From: Marisa Kirisame Date: Thu, 18 Mar 2021 16:38:23 +0100 Subject: [PATCH] Fix Mykradvo shader seams. --- language.version | 4 ++-- shaders/glsl/Mykradvo.fp | 20 +++++++++++++++----- shaders/glsl/Mykradvo2.fp | 7 +++++-- zmapinfo.txt | 7 +------ 4 files changed, 23 insertions(+), 15 deletions(-) diff --git a/language.version b/language.version index d5ce7e59c..99379a941 100644 --- a/language.version +++ b/language.version @@ -1,3 +1,3 @@ [default] -SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r366 \cu(Wed 17 Mar 21:23:01 CET 2021)\c-"; -SWWM_SHORTVER="\cw0.9.11b-pre r366 \cu(2021-03-17 21:23:01)\c-"; +SWWM_MODVER="\chSWWM \czGZ\c- \cw0.9.11b-pre r367 \cu(Thu 18 Mar 16:38:23 CET 2021)\c-"; +SWWM_SHORTVER="\cw0.9.11b-pre r367 \cu(2021-03-18 16:38:23)\c-"; diff --git a/shaders/glsl/Mykradvo.fp b/shaders/glsl/Mykradvo.fp index 8d2aff26c..f4443b1f7 100644 --- a/shaders/glsl/Mykradvo.fp +++ b/shaders/glsl/Mykradvo.fp @@ -4,18 +4,28 @@ vec4 ProcessTexel() { vec2 p = 2.*(vTexCoord.st-.5); float a = atan(p.y,p.x); + float a2 = atan(p.y,abs(p.x)); float r = length(p); // noise burst vec2 ccoord = vec2(.1/r-.06*timer+.5*r,a/pi+.04*timer); - vec3 nz = texture(warptex,ccoord).rgb; + vec2 ccoord2 = vec2(ccoord.x,a2/pi+.04*timer); + vec3 nz = textureGrad(warptex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).rgb; ccoord = vec2(.4/r-.08*timer+1.4*r,a/pi-.04*timer); - nz += texture(warptex,ccoord).rgb; + ccoord2 = vec2(ccoord.x,a2/pi-.04*timer); + nz += textureGrad(warptex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).rgb; nz = clamp((nz-1.)*.5,-1.,1.); nz *= abs(2.*r-1.); // shimmering flare - vec3 flr = vec3(1.-r*2.)+vec3(.6,.3,.4)*texture(snoisetex,vec2(2.*a/pi-timer*.05,0.)).r - +vec3(.1,.2,.9)*texture(snoisetex,vec2(3.*a/pi+timer*.07,0.)).g - +vec3(.4,.7,.3)*texture(snoisetex,vec2(a/pi-timer*.09,0.)).b; + vec3 flr = vec3(1.-r*2.); + ccoord = vec2(2.*a/pi-timer*.05,0.); + ccoord2 = vec2(2.*a2/pi-timer*.05,0.); + flr += vec3(.6,.3,.4)*textureGrad(snoisetex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).r; + ccoord = vec2(3.*a/pi+timer*.07,0.); + ccoord2 = vec2(3.*a2/pi+timer*.07,0.); + flr += vec3(.1,.2,.9)*textureGrad(snoisetex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).g; + ccoord = vec2(a/pi-timer*.09,0.); + ccoord2 = vec2(a2/pi-timer*.09,0.); + flr += vec3(.4,.7,.3)*textureGrad(snoisetex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).b; // readjust flare flr = pow(max(flr,0.),vec3(.5)); // distort by flare diff --git a/shaders/glsl/Mykradvo2.fp b/shaders/glsl/Mykradvo2.fp index f97905387..581d4fbb8 100644 --- a/shaders/glsl/Mykradvo2.fp +++ b/shaders/glsl/Mykradvo2.fp @@ -4,12 +4,15 @@ vec4 ProcessTexel() { vec2 p = 2.*(vTexCoord.st-.5); float a = atan(p.y,p.x); + float a2 = atan(p.y,abs(p.x)); float r = length(p); // noise burst vec2 ccoord = vec2(.1/r-.06*timer+.5*r,a/pi+.04*timer); - vec3 nz = texture(warptex,ccoord).rgb; + vec2 ccoord2 = vec2(ccoord.x,a2/pi+.04*timer); + vec3 nz = textureGrad(warptex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).rgb; ccoord = vec2(.4/r-.08*timer+1.4*r,a/pi-.04*timer); - nz += texture(warptex,ccoord).rgb; + ccoord2 = vec2(ccoord.x,a2/pi-.04*timer); + nz += textureGrad(warptex,ccoord,dFdx(ccoord2),dFdy(ccoord2)).rgb; nz = clamp((nz-1.)*.5,-1.,1.); nz *= abs(2.*r-1.); // sample ring diff --git a/zmapinfo.txt b/zmapinfo.txt index 02a23f23a..77d463de8 100644 --- a/zmapinfo.txt +++ b/zmapinfo.txt @@ -88,12 +88,7 @@ GameInfo "KirinCummiesGesture", "MilkBreadsGesture", "KirinMangaGesture", - "KirinPlushGesture", - // miscellaneous actors that cause first-load lag - "SaltBeam", - "YnykronBeam", - "YnykronAltBeam", - "BiosparkChildBeam" + "KirinPlushGesture" }