what's GOING ON

This commit is contained in:
tildearrow 2024-02-20 03:08:29 -05:00
parent 20e5ea102e
commit cdfb65ef1b

View file

@ -172,24 +172,25 @@ const char* sh_oscRender_srcF=
" float xMax=uv.x+uAdvance*uLineWidth;\n" " float xMax=uv.x+uAdvance*uLineWidth;\n"
" float valmax=-1024.0;\n" " float valmax=-1024.0;\n"
" float valmin=1024.0;\n" " float valmin=1024.0;\n"
" for (float x=uv.x-uAdvance*uLineWidth; x<=xMax; x+=uAdvance) {\n" " for (float x=uv.x-uAdvance*uLineWidth; x<=xMax; x+=uAdvance) {\n"
" float val=texture(oscVal,x).x;\n" " float val=texture(oscVal,x).x;\n"
" if (val>valmax) valmax=val;\n" " if (val>valmax) valmax=val;\n"
" if (val<valmin) valmin=val;\n" " if (val<valmin) valmin=val;\n"
" }\n" " }\n"
" if ((fur_fragCoord.y-uLineWidth)>valmax*uResolution.y*0.5) discard;\n" //" if ((fur_fragCoord.y-uLineWidth)>valmax*uResolution.y*0.5) discard;\n"
" if ((fur_fragCoord.y+uLineWidth)<valmin*uResolution.y*0.5) discard;\n" //" if ((fur_fragCoord.y+uLineWidth)<valmin*uResolution.y*0.5) discard;\n"
" float slope=abs(valmax-valmin)*uResolution.y*0.5;\n" " float slope=abs(valmax-valmin)*uResolution.y*0.5;\n"
" float slopeDiv=min(uAdvance,(uAdvance/slope));\n" " float slopeDiv=min(uAdvance,(uAdvance/slope));\n"
" float xRight=uv.x+((uLineWidth)/uResolution.x);\n" " float xRight=uv.x+((uLineWidth)/uResolution.x);\n"
" for (float x=max(0.0,uv.x-(uLineWidth/uResolution.x)); x<=xRight; x+=slopeDiv) {\n" " for (float x=max(0.0,uv.x-(uLineWidth/uResolution.x)); x<=xRight; x+=slopeDiv) {\n"
" float val=texture(oscVal,x).x*uResolution.y*0.5;\n" " float val=texture(oscVal,x).x*uResolution.y*0.5;\n"
" alpha+=clamp(uLineWidth-distance(vec2(fur_fragCoord.x,fur_fragCoord.y),vec2(x*uResolution.x,val)),0.0,1.0);\n" " alpha+=clamp(uLineWidth-distance(vec2(fur_fragCoord.x,fur_fragCoord.y),vec2(x*uResolution.x,val)),0.0,1000.0);\n"
" }\n" " }\n"
" if (slope>1.0) {\n" " if (slope>1.0) {\n"
" fur_FragColor = vec4(uColor.xyz,uColor.w*clamp(alpha/(uLineWidth+sqrt(slope*0.125)),0.0,1.0));\n" " fur_FragColor = vec4(uColor.xyz,uColor.w*clamp(alpha*0.125,0.0,1.0));\n"
" } else {\n" " } else {\n"
" fur_FragColor = vec4(uColor.xyz,uColor.w*clamp(alpha/uLineWidth,0.0,1.0));\n" " fur_FragColor = vec4(uColor.xyz,uColor.w*clamp(alpha*0.125,0.0,1.0));\n"
" }\n" " }\n"
"}\n"; "}\n";
#endif #endif