GUI: new osc renderer, part 11
ES port
This commit is contained in:
parent
894b1f5a3c
commit
bc32f6d57e
|
@ -102,32 +102,29 @@ const char* sh_oscRender_srcF=
|
|||
"uniform sampler2D oscVal;\n"
|
||||
"varying vec2 fur_fragCoord;\n"
|
||||
"void main() {\n"
|
||||
" vec2 uv = fur_fragCoord/uResolution;\n"
|
||||
" uv.y *= 2.0;\n"
|
||||
" vec2 tresh = vec2(1.0,1.0)/uResolution;\n"
|
||||
" float x = uv.x-uAdvance*uLineWidth*0.5;\n"
|
||||
" float xMax = uv.x+uAdvance*uLineWidth*0.5;\n"
|
||||
" float alpha = 0.0;\n"
|
||||
" float alphaX = 0.0;\n"
|
||||
" float valmax = -1024.0;\n"
|
||||
" float valmin = 1024.0;\n"
|
||||
" for (; x<xMax; x+=uAdvance) {\n"
|
||||
" vec2 uv=fur_fragCoord/uResolution;\n"
|
||||
" uv.y*=2.0;\n"
|
||||
" float alpha=0.0;\n"
|
||||
" float xMax=uv.x+uAdvance*uLineWidth;\n"
|
||||
" float valmax=-1024.0;\n"
|
||||
" float valmin=1024.0;\n"
|
||||
" for (float x=uv.x-uAdvance*uLineWidth; x<=xMax; x+=uAdvance) {\n"
|
||||
" float val=texture2D(oscVal,vec2(x,1.0)).x;\n"
|
||||
" alphaX+=0.0;\n"
|
||||
" if (val>valmax) valmax=val;\n"
|
||||
" if (val<valmin) valmin=val;\n"
|
||||
" }\n"
|
||||
" float slope = abs(valmax-valmin)*uResolution.y*0.5;\n"
|
||||
" if (uv.y>valmin) {\n"
|
||||
" alpha=valmax*uResolution.y*0.5-fur_fragCoord.y+uLineWidth*0.5;\n"
|
||||
" } else {\n"
|
||||
" alpha=fur_fragCoord.y-valmin*uResolution.y*0.5+uLineWidth*0.5;\n"
|
||||
" float slope=abs(valmax-valmin)*uResolution.y*0.5;\n"
|
||||
" float slopeDiv=min(uAdvance,(uAdvance/slope));\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"
|
||||
" float val=texture2D(oscVal,vec2(x,1.0)).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"
|
||||
" }\n"
|
||||
" alpha=clamp(alpha,0.0,1.0);\n"
|
||||
" if (slope>1.0) {\n"
|
||||
" alpha*=clamp(alphaX,0.0,1.0);\n"
|
||||
" gl_FragColor = vec4(uColor.xyz,uColor.w*clamp(alpha/(uLineWidth+sqrt(slope*0.125)),0.0,1.0));\n"
|
||||
" } else {\n"
|
||||
" gl_FragColor = vec4(uColor.xyz,uColor.w*clamp(alpha/uLineWidth,0.0,1.0));\n"
|
||||
" }\n"
|
||||
" gl_FragColor = vec4(uColor.xyz,uColor.w*clamp(alpha,0.0,1.0));\n"
|
||||
"}\n";
|
||||
#else
|
||||
const char* sh_wipe_srcV=
|
||||
|
|
Loading…
Reference in a new issue