tsl-textures
Version:
A collection of Three.js Shading Language (TSL) textures
3 lines (2 loc) • 31.8 kB
JavaScript
/*! TSL Textures v2.1.1 */
import{Fn as a,min as e,sub as o,max as r,vec3 as t,float as l,add as s,If as n,select as d,sin as u,cos as m,vec4 as i,mul as c,cross as v,remap as g,pow as V,log2 as p,mat4 as y,smoothstep as f,positionGeometry as b,dFdx as w,dFdy as h,transformNormalToView as z,mx_noise_float as x,uniform as k,exp as A,round as M,pow2 as $,abs as I,or as P,mix as T,acos as S,clamp as E,normalLocal as L,tangentLocal as B,Loop as C,floor as W,oneMinus as R,screenSize as q,screenUV as G,equirectUV as F,div as N,remapClamp as D,sqrt as Y,mat2 as U,mod as H,distance as O,radians as Z,matcapUV as j,mx_worley_noise_float as X,sign as _,tan as K,reciprocal as Q,vec2 as J}from"three/tsl";export{mx_noise_float as noise}from"three/tsl";import{Color as aa,Vector3 as ea,Vector2 as oa}from"three";const ra=a((([a,t,l,s])=>{var n=s.add(a.mul(12)).mod(12),d=t.mul(e(l,o(1,l)));return l.sub(d.mul(r(-1,e(e(n.sub(3),o(9,n)),1))))}));ra.setLayout({name:"hslHelper",type:"float",inputs:[{name:"h",type:"float"},{name:"s",type:"float"},{name:"l",type:"float"},{name:"n",type:"float"}]});const ta=a((([a,e,o])=>{a=a.fract().add(1).fract(),e=e.clamp(0,1),o=o.clamp(0,1);var r=ra(a,e,o,0),l=ra(a,e,o,8),s=ra(a,e,o,4);return t(r,l,s)}));ta.setLayout({name:"hsl",type:"vec3",inputs:[{name:"h",type:"float"},{name:"s",type:"float"},{name:"l",type:"float"}]});const la=a((([a])=>{var u=l(a.x).toVar(),m=l(a.y).toVar(),i=l(a.z).toVar(),c=r(u,r(m,i)).toVar(),v=e(u,e(m,i)).toVar(),g=l(0).toVar(),V=l(0).toVar(),p=s(c,v).div(2);return n(v.notEqual(c),(()=>{const a=o(c,v).toVar();V.assign(d(p.lessThanEqual(.5),a.div(s(v,c)),a.div(o(2,s(v,c))))),n(c.equal(u),(()=>{g.assign(o(m,i).div(a).add(d(m.lessThanEqual(i),6,0)))})).ElseIf(c.equal(m),(()=>{g.assign(o(i,u).div(a).add(2))})).Else((()=>{g.assign(o(u,m).div(a).add(4))})),g.divAssign(6)})),t(g,V,p)}));function sa(a){var e={};for(var[o,r]of Object.entries(a))"$"!=o[0]&&(e[o]=r instanceof ea?k(r,"vec3"):k(r));return e}la.setLayout({name:"toHsl",type:"vec3",inputs:[{name:"rgb",type:"vec3"}]});const na=a((([a,e])=>t(u(e).mul(u(a)),m(a),m(e).mul(u(a)))));na.setLayout({name:"spherical",type:"vec3",inputs:[{name:"phi",type:"float"},{name:"theta",type:"float"}]});const da=a((([a,e])=>{var o=ua(e);return ma(a,o)}));da.setLayout({name:"applyEuler",type:"vec4",inputs:[{name:"vec",type:"vec3"},{name:"eu",type:"vec3"}]});const ua=a((([a])=>{var e=m(a.x.div(2)),r=m(a.y.div(2)),t=m(a.z.div(2)),l=u(a.x.div(2)),n=u(a.y.div(2)),d=u(a.z.div(2));return i(s(c(l,r,t),c(e,n,d)),o(c(e,n,t),c(l,r,d)),s(c(e,r,d),c(l,n,t)),o(c(e,r,t),c(l,n,d)))}));ua.setLayout({name:"quaternionFromEuler",type:"vec4",inputs:[{name:"eu",type:"vec3"}]});const ma=a((([a,e])=>{var o=v(e.xyz,a).mul(2).toVar();return s(a,o.mul(e.w),v(e.xyz,o))}));ma.setLayout({name:"applyQuaternion",type:"vec3",inputs:[{name:"vec",type:"vec3"},{name:"quat",type:"vec4"}]});const ia=a((([a,e,o,r,t])=>(a=g(a,e,o,0,1),a=V(2,c(a,p(t.div(r))).add(p(r))))));ia.setLayout({name:"remapExp",type:"float",inputs:[{name:"x",type:"float"},{name:"fromMin",type:"float"},{name:"fromMax",type:"float"},{name:"toMin",type:"float"},{name:"toMax",type:"float"}]});const ca=a((([a])=>a.dot(t(12.9898,78.233,-97.5123)).sin().mul(43758.5453).fract().mul(2).sub(1)));ca.setLayout({name:"vnoise",type:"float",inputs:[{name:"v",type:"vec3"}]});const va=a((([a])=>{var e=a.cos().toVar(),o=a.sin().toVar();return y(1,0,0,0,0,e,o,0,0,o.negate(),e,0,0,0,0,1)}));va.setLayout({name:"matRotX",type:"mat4",inputs:[{name:"angle",type:"float"}]});const ga=a((([a])=>{var e=a.cos().toVar(),o=a.sin().toVar();return y(e,0,o.negate(),0,0,1,0,0,o,0,e,0,0,0,0,1)}));ga.setLayout({name:"matRotY",type:"mat4",inputs:[{name:"angle",type:"float"}]});const Va=a((([a])=>{var e=a.cos().toVar(),o=a.sin().toVar();return y(e,o,0,0,o.negate(),e,0,0,0,0,1,0,0,0,0,1)}));Va.setLayout({name:"matRotZ",type:"mat4",inputs:[{name:"angle",type:"float"}]});const pa=a((([a])=>{var e=va(a.x),o=ga(a.y),r=Va(a.z);return o.mul(e).mul(r)}));pa.setLayout({name:"matRotYXZ",type:"mat4",inputs:[{name:"angles",type:"vec3"}]});const ya=a((([a])=>y(a.x,0,0,0,0,a.y,0,0,0,0,a.z,0,0,0,0,1)));ya.setLayout({name:"matScale",type:"mat4",inputs:[{name:"scales",type:"vec3"}]});const fa=a((([a])=>y(1,0,0,0,0,1,0,0,0,0,1,0,a.x,a.y,a.z,1)));fa.setLayout({name:"matTrans",type:"mat4",inputs:[{name:"vector",type:"vec3"}]});const ba=a((([a,e,o,r])=>{var t=na(e.x,e.y).mul(r).toVar(),l=o.sub(t.div(2)).sub(a).dot(t).div(t.dot(t)).negate();return f(0,1,l)}));ba.setLayout({name:"selectPlanar",type:"float",inputs:[{name:"pos",type:"vec3"},{name:"selAngles",type:"vec2"},{name:"selCenter",type:"vec3"},{name:"selWidth",type:"float"}]});const wa=a((a=>{var e=ba(b,a.selectorAngles,a.selectorCenter,a.selectorWidth).sub(.5).mul(2).abs().oneMinus().pow(.25).negate().mul(a.selectorShow);return t(0,e,e)})),ha=a((([a])=>{var e=w(a),o=h(a);return z(v(e,o).normalize())}));ha.setLayout({name:"normalVector",type:"vec3",inputs:[{name:"pos",type:"vec3"}]});var za=null,xa=10;async function ka(){if(null!=navigator.gpu&&await navigator.gpu.requestAdapter())return;(za=document.createElement("div")).innerHTML='\n\t<div style="font-size:1.25em; font-weight:bold;">PLEASE, WAIT</div>\n\t<div style="font-size:0.85em; font-weight:100;" >NO WEBGPU — TRYING WEBGL2</div>\n\t<div id="counter"></div>\n\t',za.style.left="calc(50% - 8em)",za.style.width="16em",za.style.fontFamily="Bahnschrifts, Arial",za.style.position="absolute",za.style.bottom="20px",za.style.padding="12px 6px",za.style.border="1px solid white",za.style.borderRadius="4px",za.style.background="rgba(0,0,0,0.5)",za.style.color="white",za.style.textAlign="center",za.style.opacity="0.8",za.style.outline="none",za.style.zIndex="999",document.body.appendChild(za)}function Aa(){za&&(xa>0?xa--:(za.style.display="none",za=null))}function Ma(a){for(var e of Object.keys(a))"number"==typeof a[e]?a[e]=l(a[e]):a[e]instanceof aa?a[e]=t(a[e].r,a[e].g,a[e].b):a[e]instanceof ea&&(a[e]=t(a[e].x,a[e].y,a[e].z));return a}function $a(a,e=1,o=1,r=0){return x(a.mul(e,o).add(r))}var Ia=a((a=>{a=Ma({...Ia.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed).toVar(),o=t(0,0,0).toVar();return n(M(x(e,1,.2)).greaterThanEqual(1),(()=>{o.assign(a.colorA)})).ElseIf(M(x(e.yzx,1,.3)).greaterThanEqual(1),(()=>{o.assign(a.colorB)})).ElseIf(M(x(e.zxy,1,.4)).greaterThanEqual(1),(()=>{o.assign(a.colorC)})).Else((()=>{o.assign(a.colorD)})),o}));Ia.defaults={$name:"Camouflage",scale:2,colorA:new aa(12762792),colorB:new aa(10258782),colorC:new aa(9610101),colorD:new aa(7435617),seed:0};var Pa=a((a=>{a=Ma({...Pa.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed).toVar(),r=x(e,4).sin().toVar(),t=x(e.mul(1.5),4).cos().toVar(),d=A(o(l(3),a.thinness)),u=o(d,$(I(s(r,t))).mul(20)).toVar();return n(P(r.greaterThan(t),u.lessThan(0)),(()=>{u.assign(0)})),n(u.lessThanEqual(0),(()=>{u.assign(a.noise.mul($(x(e.mul(30)))))})),T(a.background,a.color,u)}));Pa.defaults={$name:"Cave art",scale:2,thinness:2,noise:.3,color:new aa(13845829),background:new aa(16775408),seed:0};var Ta=a((a=>{a=Ma({...Ta.defaults,...a});for(var e=d(a.flat,b,b.normalize()),o=S(E(e.y,-1,1)).mul(20),r=A(a.scale.sub(1)),t=o.div(3e3).mul(r),s=l(a.seed.sin().mul(100)).toVar(),n=0;n<=10;n++)s.addAssign(u(t.mul(2**n).sub(Math.PI*n/2)).mul(-n*(n+1)/2));s.assign(s.div(200).clamp(-2,2));var m=la(a.color),i=m.x.add(s.mul(a.variety)).mod(1).mul(10),c=i.floor(),v=i.sub(c);return v=d(v.lessThan(.5),v.pow(1.5),v.pow(1/1.5)),ta(c.add(v).div(10),m.y,m.z)}));Ta.defaults={$name:"Circles",scale:2,variety:1,color:new aa(15786192),flat:0,seed:0};var Sa=a((a=>{a=Ma({...Ea.defaults,...a});const e=b,o=A(a.scale.div(1.5).sub(.5)),r=s($a(e,o,1,a.seed),$a(e,o,2,a.seed).mul(.8),$a(e,o,6,a.seed).mul(.1),$a(e,o,8,a.seed).mul(.07,a.opacity),a.density.remap(0,1,-.5,1.5)),t=E(0,1,c(r,2).pow(1.5).sub(1).mul(a.opacity));return i(T(a.subcolor,a.color,r.clamp(0,1)),t)})),Ea=a((a=>Sa(a).rgb));Ea.opacity=a((a=>Sa(a).a)),Ea.defaults={$name:"Clouds",scale:2,density:.5,opacity:1,color:new aa(16777215),subcolor:new aa(10526896),seed:0};var La=a((([a,e,o,r,t])=>{var l=x(a.add(t)).mul(.5).add(.5);return l=o.mul(V(I(l),r)),a.add(l.mul(e))})),Ba=a((a=>{a=Ma({...Ba.defaults,...a});var e=b.mul(A(a.scale.div(2).add(2))).toVar(),r=L.normalize().toVar(),l=B.normalize().mul(.001).toVar(),s=v(r,l).normalize().mul(.001).toVar(),n=g(a.density,0,1,10,.5).toVar(),d=t(u(a.seed).mul(100),m(a.seed.div(2)).mul(100),u(a.seed.div(3)).mul(100)).toVar(),i=La(e,r,a.bump,n,d),c=La(e.add(l),r,a.bump,n,d),V=La(e.add(s),r,a.bump,n,d),p=o(c,i),y=o(V,i);return z(v(p,y).normalize())}));Ba.defaults={$name:"Concrete",$normalNode:!0,scale:2,density:.5,bump:.5,seed:0};var Ca=a((([a])=>a.add(ca(a)))),Wa=a((a=>{a=Ma({...Wa.defaults,...a});var e=b.mul(A(a.scale.div(1.5).add(1))).add(a.seed).toVar(),o=e.round().toVar(),r=o.toVar(),s=l(1).toVar(),d=t().toVar(),u=l().toVar(),m=l(0).toVar();C(27,(()=>{var l=m.mod(3).sub(1),i=m.div(3).floor().mod(3).sub(1),c=m.div(9).floor().sub(1);d.assign(o.add(t(l,i,c))),u.assign(e.distance(Ca(d))),u.addAssign(x(e.add(d)).div(a.straight.exp())),n(u.lessThan(s),(()=>{s.assign(u),r.assign(d)})),m.addAssign(1)}));var i=x(r.mul(Math.PI)).toVar(),c=x(e.mul(12)).toVar();c.assign(c.sign().mul(c.abs().pow3())),c.addAssign(x(e.mul(40)).div(3));var v=i.add(1).div(2);return T(a.color,a.background,v.add(c.mul(a.noise))).toVar()}));Wa.defaults={$name:"Cork",scale:1,straight:1,noise:.3,color:new aa(16773312),background:new aa(13664352),seed:0};var Ra=a((a=>{a=Ma({...Ra.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed).sub(1e3).toVar(),o=l(1).toVar(),r=l(1.5).sub(a.density).mul(2).toVar(),t=a.density.mul(5).add(5).toVar();return C(t,(()=>{o.mulAssign(x(e).abs().pow(r).mul(100).sub(50).clamp(0,1).oneMinus()),e.assign(e.mul(1.01)),o.mulAssign(x(e.yzx).abs().pow(r).mul(100).sub(50).clamp(0,1).oneMinus()),e.assign(e.mul(1.01)),o.mulAssign(x(e.zxy).abs().pow(r).mul(100).sub(50).clamp(0,1).oneMinus()),e.assign(e.mul(1.01))})),T(a.background,a.color,o.clamp(0,1))}));Ra.defaults={$name:"Dalmatian spots",$width:260,scale:2,density:.6,color:new aa(16777215),background:new aa(0),seed:0};var qa=a((([a])=>{var e=a.mul(5**.5).fract().toVar();return e.addAssign(e.dot(e.add(t(31.4159,27.1828,14.142)))),e.z.mul(e.x.add(e.y)).fract().mul(2).sub(1)})),Ga=a((([a])=>{var e=a.oneMinus().clamp(0,1).toVar();return e.mul(e).mul(l(3).sub(e.mul(2)))})),Fa=a((([a])=>{var e=a.x.floor().toVar(),o=e.add(1).toVar(),r=a.y.floor().toVar(),l=r.add(1).toVar(),s=a.z.floor().toVar(),n=s.add(1).toVar(),d=Ga(a.x.fract()).toVar(),u=Ga(a.y.fract()).toVar(),m=Ga(a.z.fract()).toVar(),i=Ga(d.oneMinus()).toVar(),c=Ga(u.oneMinus()).toVar(),v=Ga(m.oneMinus()).toVar(),g=qa(t(e,r,s)).mul(i).mul(c).mul(v).toVar(),V=qa(t(e,r,n)).mul(i).mul(c).mul(m).toVar(),p=qa(t(e,l,s)).mul(i).mul(u).mul(v).toVar(),y=qa(t(e,l,n)).mul(i).mul(u).mul(m).toVar(),f=qa(t(o,r,s)).mul(d).mul(c).mul(v).toVar(),b=qa(t(o,r,n)).mul(d).mul(c).mul(m).toVar(),w=qa(t(o,l,s)).mul(d).mul(u).mul(v).toVar(),h=qa(t(o,l,n)).mul(d).mul(u).mul(m).toVar();return g.add(V).add(p).add(y).add(f).add(b).add(w).add(h)})),Na=a((a=>{a=Ma({...Na.defaults,...a});var e=b.mul(A(a.scale.div(2).add(.5))).add(a.seed).toVar(),o=t().toVar(),r=l(1).toVar();return C(a.complexity.add(4),(()=>{o.addAssign(Fa(e.mul(r))),r.addAssign(r)})),T(a.background,a.color,o.x.add(1).div(5))}));Na.defaults={$name:"Dyson sphere",scale:2,complexity:2,variation:0,color:new aa(12636415),background:new aa(0),seed:0};var Da=a((a=>{a=Ma({...Da.defaults,...a});var e=A(a.scale.div(2)).toVar(),o=b.add(a.seed).toVar(),t=l(-1e4).toVar(),s=l(0).toVar();return C(W(l(a.density)),(()=>{s.assign(u(x(c(o,e)).mul(3*Math.PI))),t.assign(r(t,s)),e.mulAssign(1.2)})),t.assign(R(V(I(t),5)).mul(6)),T(a.color,a.background,t)}));Da.defaults={$name:"Entangled",scale:2,density:10,color:new aa(8256),background:new aa(16777215),seed:0};var Ya=a((a=>{a=Ma({...Ya.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed).toVar(),o=x(t(x(e),x(e).mul(2),x(e).mul(3))).toVar();return ta(o,1,u(c(o,Math.PI,4)).mul(.5).add(.5)).add(a.color)}));Ya.defaults={$name:"Fordite",scale:2,color:new aa(0,0,0),seed:0};var Ua=a((a=>{var e=(a=Ma({...Ua.defaults,...a})).scale.div(2).add(1).toVar(),o=b.mul(A(e)).add(a.seed).toVar(),r=a.turbulence.mul(x(t(0,o.y.mul(.5),0).add(1)).add(x(t(0,o.y.mul(1),0).add(1)).mul(.5),x(t(1,o.y.mul(2),1).add(1)).mul(.25))).mul(5).abs().toVar(),l=x(o.div(4)).add(1).div(2).pow(10).mul(10).smoothstep(0,1);o.addAssign(t(x(o),x(o.yxz),x(o.yzx)).mul(r.mul(l.mul(2).exp())));var s=a.blur.pow(.2).oneMinus().mul(r.add(1)).toVar(),n=x(o.mul(t(0,e,0)));n=(n=n.add(x(o.mul(t(1,15,1))).mul(s))).add(-.5).smoothstep(-1,1).oneMinus();var d=x(t(0,o.y.mul(.75),0)).add(1),u=la(T(a.colorB,a.colorA,d)),m=ta(u.x.add(x(o.mul(t(0,e,0))).div(4)),u.y,u.z).toVar();return m.assign(T(m,a.colorC,r.mul(.3))),m.mul(n)}));Ua.defaults={$name:"Gas giant",scale:2,turbulence:.3,blur:.6,colorA:new aa(16775408),colorB:new aa(15788208),colorC:new aa(11509968),seed:0};var Ha=a((a=>{a=Ma({...Ha.defaults,...a});var r=d(a.flat,q.x.div(q.y),2),t=d(a.flat,G,F(b.normalize())).toVar(),l=c(t.x,r,Math.PI),n=c(t.y,Math.PI).toVar(),m=N(M(c(t.x,a.countU)),a.countU),i=N(M(c(t.y,a.countV)),a.countV),v=c(m,r,Math.PI),g=c(i,Math.PI),p=I(o(l,v)).mul(d(a.flat,1,u(n))),y=I(o(n,g)),w=e(p,y),h=c(e(N(r.mul(Math.PI),a.countU),N(Math.PI,a.countV)),D(V(a.thinness,.5),0,1,.9,.04),.5),z=R(f(o(h,.002),s(h,.002),w));return T(a.background,a.color,z)}));Ha.defaults={$name:"Grid",countU:32,countV:16,thinness:.8,color:new aa(0),background:new aa(16777215),flat:0};var Oa=a((a=>{a=Ma({...Oa.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed).toVar(),r=x(e).mul(a.density);return r=R(u(r)).div(2),r=f(o(a.thinness,a.blur),s(a.thinness,a.blur),r),T(a.color,a.background,r)}));Oa.defaults={$name:"Isolines",scale:2,density:40,blur:.3,thinness:.6,color:new aa(16777215),background:new aa(0),seed:0};var Za=a((a=>{a=Ma({...Za.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed.sin().mul(5)).toVar(),o=e.add(x(e.mul(2))).toVar(),r=x(o).div(x(o.mul(1.01))).clamp(0,2).toVar();return r.addAssign(x(e.mul(100)).div(3)),r.addAssign(x(e.mul(2)).div(2)),T(a.background,a.color,r).mul(r.pow(.1))}));Za.defaults={$name:"Karst rock",scale:2,color:new aa(16774384),background:new aa(13684944),seed:0};var ja=a((a=>{a=Ma({...ja.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed).toVar(),o=s(x(e),x(e.mul(2)).mul(.5),x(e.mul(6)).mul(.1)),r=(o=R(o.abs().pow(2.5)).toVar(),R(V(.5,a.thinness.add(7))).toVar()),t=R(V(.5,a.thinness.add(7).mul(.5))).toVar();return n(o.greaterThan(r),(()=>{o.assign(1)})).ElseIf(o.lessThan(t),(()=>{o.assign(0)})).Else((()=>{var a=o.sub(t),l=r.sub(t);o.assign(V(N(a,l),5).mul(.75)),o.assign(o.mul(s(.5,x(e.mul(2)).mul(1.5))))})),o.assign(o.add(c(a.noise,x(e.mul(150)).abs().pow3()))),T(a.background,a.color,o)}));ja.defaults={$name:"Marble",scale:1.2,thinness:5,noise:.3,color:new aa(4539859),background:new aa(15792383),seed:0};var Xa=a((a=>{a=Ma({...Xa.defaults,...a});var e=b,o=A(a.scale.remap(0,4,2,-2)).toVar(),r=A(a.thinness.remap(0,1,1.5,0)).toVar(),l=a.background.toVar(),s=t(0).toVar(),n=x(e.xyz).toVar(),u=x(e.yzx).toVar(),m=x(e.zxy).toVar(),i=x(t(n,u,m).mul(o).add(a.seed)).toVar();i.assign(R(Y(I(i))).pow(3)),s.assign(a.colorA);var c=la(s);s.assign(ta(c.x,c.y,c.z.mul(i))),l.addAssign(d(a.mode.equal(0),s,s.negate()).mul(r)),i.assign(x(t(u,m,n).mul(o).sub(a.seed))),i.assign(R(Y(I(i))).pow(3)),s.assign(a.colorB);c=la(s);s.assign(ta(c.x,c.y,c.z.mul(i))),l.addAssign(d(a.mode.equal(0),s,s.negate()).mul(r)),i.assign(x(t(m,n,u.negate()).mul(o).add(a.seed))),i.assign(R(Y(I(i))).pow(3)),s.assign(a.colorC);c=la(s);return s.assign(ta(c.x,c.y,c.z.mul(i))),l.addAssign(d(a.mode.equal(0),s,s.negate()).mul(r)),l}));Xa.defaults={$name:"Neon Lights",scale:1.5,thinness:.8,mode:0,colorA:new aa(16711680),colorB:new aa(65280),colorC:new aa(255),background:new aa(0),seed:0};var _a=a((a=>{a=Ma({..._a.defaults,...a});var e=A(a.scale.add(1)).toVar(),o=b.toVar(),r=t(o).toVar();C(6,(()=>{r.assign(da(r,o.mul(e))),e.mulAssign(a.seed.mul(e).sin().mul(.05).add(1.1))}));var l=x(r).add(1).div(2);return T(a.background,a.color,l)}));_a.defaults={$name:"Photosphere",scale:2,color:new aa(16776960),background:new aa(16711680),seed:0};var Ka=a((a=>{a=Ma({...Ka.defaults,...a});var e=l(0).toVar(),o=l(0).toVar(),r=A(a.scale.sub(2)).toVar(),s=l(2).toVar();C(a.iterations.add(10),(()=>{e.addAssign(c(s,x(b.mul(r).add(a.seed)))),o.addAssign(s),r.mulAssign(1.5),s.mulAssign(.8)})),e.assign(c(e,e,.5).div(o));var d=a.levelSea.pow(2).toVar(),u=a.levelMountain.pow(2).toVar(),m=T(d,u,a.balanceSand).toVar(),i=T(d,m,.4).toVar(),v=T(d,m,.6).toVar(),V=t().toVar();return n(e.lessThan(d),(()=>{V.assign(T(a.colorDeep,a.colorShallow,g(e,0,d,0,1).pow(A(a.balanceWater.mul(-8).add(4)))))})).ElseIf(e.lessThan(i),(()=>{V.assign(T(a.colorShallow,a.colorBeach,g(e,d,i)))})).ElseIf(e.lessThan(v),(()=>{V.assign(a.colorBeach)})).ElseIf(e.lessThan(m),(()=>{V.assign(T(a.colorBeach,a.colorGrass,g(e,v,m)))})).ElseIf(e.lessThan(u),(()=>{V.assign(T(a.colorGrass,a.colorForest,g(e,m,u).pow(.75)))})).Else((()=>{var o=T(1,u,a.balanceSnow);V.assign(T(a.colorForest,a.colorSnow,f(T(o,u,a.balanceSnow.pow(.5)),o,e)))})),V}));Ka.defaults={$name:"Planet",scale:2,iterations:5,levelSea:.3,levelMountain:.7,balanceWater:.3,balanceSand:.2,balanceSnow:.8,colorDeep:new aa(1194585).convertLinearToSRGB(),colorShallow:new aa(8900331).convertLinearToSRGB(),colorBeach:new aa(16775885).convertLinearToSRGB(),colorGrass:new aa(3978097).convertLinearToSRGB(),colorForest:new aa(12288).convertLinearToSRGB(),colorSnow:new aa(15794175).convertLinearToSRGB(),seed:0};var Qa=(1+5**.5)/2,Ja=a((a=>{a=Ma({...Ja.defaults,...a});var o=l(1).toVar();n(a.flat.equal(1),(()=>{var e=a.count.pow(2).sub(.5).toVar(),r=b.xy.mul(e).mul(U(1,1,-1,1)),t=r.round().toVar();o.assign(r.distance(t).div(e))})).Else((()=>{var t=V(10,a.count).toVar(),n=b.normalize().toVar(),d=R(n.y).mul(t).sub(1).div(2),u=r(10,t.pow(.5)),m=d.sub(u).floor().clamp(0,t),i=d.add(u).floor().clamp(0,t);o.assign(1).toVar(),C(i.sub(m),(({i:a})=>{var r=s(a,m),d=H(c(2*Math.PI/Qa,r),2*Math.PI),u=S(R(l(r).mul(2).add(1).div(t))),i=na(u,d);o.assign(e(o,O(n,i)))}))}));var t=A(a.size.mul(5).sub(5)).toVar(),d=a.blur.pow(4).toVar(),u=f(t.sub(d),t.add(d),o);return T(a.color,a.background,u)}));Ja.defaults={$name:"Polka dots",count:2,size:.5,blur:.25,color:new aa(0),background:new aa(16777215),flat:0};var ae=a((a=>{a=Ma({...ae.defaults,...a});var e=Z(a.angle).toVar(),r=t(o(b.x.mul(m(e)),b.y.mul(u(e))),s(b.x.mul(u(e)),b.y.mul(m(e))),b.z).toVar(),l=a.scale.div(2).add(1).toVar(),n=r.mul(A(l)).add(a.seed).toVar(),d=a.length.add(5).reciprocal().toVar(),i=x(n.mul(l,t(1,d,d)));return i=(i=i.mul(x(n.mul(t(25,1,1))).add(-1).mul(.2))).add(a.strength.sub(.5)).smoothstep(-.3,.3).oneMinus(),T(a.color,a.background,i)}));ae.defaults={$name:"Processed wood",$width:260,scale:2,length:4,strength:.3,angle:0,color:new aa(7348256),background:new aa(15782048),seed:0};var ee=a((([a,e])=>x(a).mul(e).clamp(-3.14,3.14).cos().add(1).div(2))),oe=a((a=>{a=Ma({...oe.defaults,...a});var e=b.mul(A(a.scale.sub(1))).add(a.seed).toVar(),o=t(j,j.length()).toVar(),r=l(0).toVar(),s=l(0).toVar(),n=l(0).toVar(),d=l(0).toVar(),u=a.fat.add(.2).oneMinus().mul(60).add(30).toVar(),m=l(2).toVar(),i=a.amount.div(2).add(.5).exp().toVar();return C(10,(()=>{r.assign(ee(e.xyz.add(o),u)),s.assign(ee(e.yzx.add(o),u)),n.addAssign(r.mul(s).mul(m)),d.addAssign(r.max(s).mul(m)),e.assign(T(e.mul(i),0,.4)),m.mulAssign(.9)})),T(a.background,T(a.color,a.subcolor,d.mul(.1)),n)}));oe.defaults={$name:"Protozoa",scale:1.5,fat:.7,amount:.4,color:new aa(10526880),subcolor:new aa(14739711),background:new aa(15792383),seed:0};var re=a((([a,e])=>{var o=ba(a,e.selectorAngles,e.selectorCenter,e.selectorWidth),r=pa(e.angles.mul(o)),t=fa(e.center),l=fa(e.center.negate());return t.mul(r).mul(l).mul(i(a,1)).xyz})),te=a((a=>(a=Ma({...te.defaults,...a}),re(b,a))));te.normal=a((a=>{a=Ma({...te.defaults,...a});var e=b,r=L.normalize().toVar(),t=B.normalize().mul(.01).toVar(),l=v(r,t).normalize().mul(.01).toVar(),s=re(e,a),n=re(e.add(t),a),d=re(e.add(l),a),u=o(n,s),m=o(d,s);return z(v(u,m).normalize())})),te.defaults={$name:"Rotator",$positionNode:!0,$selectorPlanar:!0,angles:new ea(.4,-.6,0),center:new ea(0,0,0),selectorCenter:new ea(0,0,0),selectorAngles:new oa(0,0),selectorWidth:2};var le=a((([a,e,o,r])=>{var t=X(a.add(x(a).mul(r))).add(.8).pow(5).toVar();return t.addAssign(t.pow(.5)),a.add(e.mul(t).mul(o))})),se=a((a=>{var e=(a=Ma({...se.defaults,...a})).bump.div(50).toVar(),r=b.mul(A(a.scale.div(2))).add(a.seed.sin().mul(10)).toVar(),t=L.normalize().toVar(),l=B.normalize().mul(.001).toVar(),s=v(t,l).normalize().mul(.001).toVar(),n=le(r,t,e,a.curvature),d=le(r.add(l),t,e,a.curvature),u=le(r.add(s),t,e,a.curvature),m=o(d,n),i=o(u,n);return z(v(m,i).normalize())}));se.defaults={$name:"Rough clay",$normalNode:!0,scale:2,bump:.5,curvature:.2,seed:0};var ne=a((a=>{a=Ma({...ne.defaults,...a});var e=b.mul(A(a.scale.div(1))).add(a.seed.sin().mul(10)).toVar(),o=a.sizeYolk.oneMinus(),r=a.sizeWhite.oneMinus(),t=X(e).toVar(),l=t.add(r).pow(8).oneMinus().clamp(-.5,1),s=t.add(o).pow(18).oneMinus().clamp(0,1).pow(.4).clamp(0,1);return T(a.colorBackground,T(a.colorWhite,a.colorYolk,s),l)})),de=a((([a,e,o,r,t])=>{var l=X(a).toVar(),s=l.add(t).pow(8).oneMinus(),n=l.add(r).pow(18).oneMinus().clamp(0,1),d=T(0,T(0,1,n),s);return a.add(e.mul(d).mul(o))}));ne.normal=a((a=>{a=Ma({...ne.defaults,...a});var e=.05,r=b.mul(A(a.scale.div(1))).add(a.seed.sin().mul(10)).toVar(),t=L.normalize().toVar(),l=B.normalize().mul(.001).toVar(),s=v(t,l).normalize().mul(.001).toVar(),n=a.sizeYolk.oneMinus(),d=a.sizeWhite.oneMinus(),u=de(r,t,e,n,d),m=de(r.add(l),t,e,n,d),i=de(r.add(s),t,e,n,d),c=o(m,u),g=o(i,u);return z(v(c,g).normalize())})),ne.roughness=a((a=>{a=Ma({...ne.defaults,...a});var e=b.mul(A(a.scale.div(1))).add(a.seed.sin().mul(10)).toVar(),o=a.sizeYolk.oneMinus();return X(e).toVar().add(o).pow(18).clamp(0,1)})),ne.defaults={$name:"Runny eggs",scale:1,sizeYolk:.2,sizeWhite:.7,colorYolk:new aa("orange"),colorWhite:new aa("white"),colorBackground:new aa("lightgray"),seed:0};var ue=a((a=>{var e=b.mul(A(a.scale.div(4).add(-1))).add(a.seed).toVar(),o=a.amount.mul(x(e.mul(a.amount.div(2).add(4))).add(4)).toVar(),r=x(e).toVar();return C(a.iterations,(()=>{e.mulAssign(2),r.addAssign(x(e))})),r.subAssign(x(e.mul(2)).abs()),r.assign(r.sub(o).clamp(0,15)),r})),me=a((a=>{a=Ma({...me.defaults,...a});var e=ue(a).mul(1.25).pow(.5),o=b.mul(A(a.scale.add(a.noiseScale.mul(3),2)));return e.addAssign(a.noise.mul(x(o).abs().add(.1).pow(2))),T(a.color,a.background,e)}));me.opacity=a((a=>(a=Ma({...me.defaults,...a}),ue(a).mul(a.opacity.add(.2)).oneMinus()))),me.defaults={$name:"rust",scale:2,iterations:8,amount:-.3,opacity:.5,noise:.5,noiseScale:.5,color:new aa(12615680),background:new aa(32),seed:0};var ie=a((a=>{a=Ma({...ie.defaults,...a});var e=b.toVar(),o=A(a.scale.div(3)).toVar(),r=x(t(x(t(e.x.mul(2),e.y,e.z).mul(o)),x(t(e.x,e.y.mul(2),e.z).mul(o)),x(t(e.x,e.y,e.z.mul(2)).mul(o))).mul(o).add(a.seed));return r=V(I(r),3).mul(20),T(a.background,a.color,r)}));ie.defaults={$name:"Satin",scale:2,color:new aa(7373055),background:new aa(80),seed:0};var ce=a((([a,e])=>{var o=ba(a,e.selectorAngles,e.selectorCenter,e.selectorWidth),r=ya(T(t(1,1,1),e.scales,o)),l=fa(e.center),s=fa(e.center.negate());return l.mul(r).mul(s).mul(i(a,1)).xyz})),ve=a((a=>(a=Ma({...ve.defaults,...a}),ce(b,a))));ve.normal=a((a=>{a=Ma({...ve.defaults,...a});var e=b,r=L.normalize().toVar(),t=B.normalize().mul(.01).toVar(),l=v(r,t).normalize().mul(.01).toVar(),s=ce(e,a),n=ce(e.add(t),a),d=ce(e.add(l),a),u=o(n,s),m=o(d,s);return z(v(u,m).normalize())})),ve.defaults={$name:"Scaler",$positionNode:!0,$selectorPlanar:!0,scales:new ea(.01,.9,1.7),center:new ea(0,0,0),selectorCenter:new ea(0,0,0),selectorAngles:new oa(0,0),selectorWidth:2};var ge=a((a=>{a=Ma({...ge.defaults,...a});var e=b,o=e.x.mul(ia(a.xFactor,0,100,1.35,30)).toVar(),l=e.y.mul(ia(a.yFactor,0,100,1.35,30)).toVar(),n=e.z.mul(ia(a.zFactor,0,100,1.35,30)).toVar(),d=m(o).toVar(),u=m(l).toVar(),i=m(n).toVar(),v=x(t(e.x.div(d),e.y.div(u),e.z.div(i)));v=_(v).mul(I(v).pow(.75));var g=I(c(o,K(o)).add(1).div(m(o))),V=I(c(l,K(l)).add(1).div(m(l))),p=I(c(n,K(n)).add(1).div(m(n))),y=t().toVar(),f=I(W(o.mul(2/Math.PI).add(1).div(2))),w=I(W(l.mul(2/Math.PI).add(1).div(2))),h=I(W(n.mul(2/Math.PI).add(1).div(2))),z=H(s(f,w,h),2);y.assign(la(T(a.colorA,a.colorB,z)));var k=ta(y.x,y.y,y.z.mul(v)).toVar();y.assign(la(a.colorRim));var A=ta(y.x,y.y,c(2,v,y.z)).toVar();return T(k,A,D(r(g,r(V,p)),45,65))}));ge.defaults={$name:"Scepter head",xFactor:10,yFactor:22,zFactor:10,colorRim:new aa(16777215),colorA:new aa(7397631),colorB:new aa(3145983)};var Ve=a((a=>{a=Ma({...Ve.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed).toVar(),o=x(s(u(e.xyz),m(e.yzx)));e.assign(b.mul(A(a.scale).mul(o)).add(a.seed));o=x(s(u(e.xyz),m(e.yzx)).mul(2));var r=T(a.background,a.color,o).toVar(),t=la(r).toVar();return ta(s(t.x,a.variety.mul(u(o.mul(Math.PI))).mul(.5)),t.y,t.z)}));Ve.defaults={$name:"Scream",scale:2,variety:1,color:new aa(15790176),background:new aa(13668496),seed:0};var pe=a((a=>{a=Ma({...pe.defaults,...a});var e=b.mul(A(a.scale)).add(a.seed),o=E(0,1,x(e).mul(.5,A(a.contrast)).add(.5,a.balance));return T(a.background,a.color,o)}));pe.defaults={$name:"Simplex noise",scale:2,balance:0,contrast:0,color:new aa(16777215),background:new aa(0),seed:0};var ye=a((a=>{a=Ma({...ye.defaults,...a});var e=b.mul(A(a.scale.div(2).add(3))).add(a.seed).toVar(),o=I(x(e)).pow(10).mul(10);o=o.mul(A(a.density.sub(2)));var r=d(o.greaterThan(.1),a.variation.mul(x(e)),0),t=la(T(a.background,a.color,o));return ta(s(t.x,r),t.y,t.z)}));ye.defaults={$name:"Stars",scale:2,density:2,variation:0,color:new aa(16774640),background:new aa(96),seed:0};var fe=a((([a,e])=>{var o=l(2).pow(e.exponent),r=a.div(a.length()).toVar(),t=r.x.abs().pow(o).add(r.y.abs().pow(o)).add(r.z.abs().pow(o)).pow(l(1).div(o));return r.div(t)})),be=a((a=>(a=Ma({...be.defaults,...a}),fe(b,a))));be.normal=a((a=>{a=Ma({...be.defaults,...a});var e=b,r=L.normalize().toVar(),t=B.normalize().mul(.01).toVar(),l=v(r,t).normalize().mul(.01).toVar(),s=fe(e,a),n=fe(e.add(t),a),d=fe(e.add(l),a),u=o(n,s),m=o(d,s);return z(v(u,m).normalize())})),be.defaults={$name:"Supersphere",$positionNode:!0,exponent:3};var we=a((a=>{var e=(a=Ma({...we.defaults,...a})).scale.div(2).add(1).toVar(),o=b.mul(A(e)).add(a.seed).toVar(),r=a.length.add(5).reciprocal().toVar(),l=a.hairs.mul(.3).toVar(),s=x(o.mul(e,t(1,r,r)));s=(s=s.add(x(o.mul(t(25,1,1))).add(1).mul(l))).add(a.strength.sub(.5)).smoothstep(a.blur.negate(),a.blur).oneMinus();var n=b.y.add(l.sub(.5)).smoothstep(-1,.5);return T(a.bottomColor,a.color,n).mul(s)}));we.defaults={$name:"Tiger fur",scale:2,length:4,blur:.3,strength:.3,hairs:.5,color:new aa(16755200),bottomColor:new aa(16777198),seed:0};var he=a((([a,e])=>{var o=ba(a,e.selectorAngles,e.selectorCenter,e.selectorWidth);return fa(e.distance.mul(o)).mul(i(a,1)).xyz})),ze=a((a=>(a=Ma({...ze.defaults,...a}),he(b,a))));ze.normal=a((a=>{a=Ma({...ze.defaults,...a});var e=b,r=L.normalize().toVar(),t=B.normalize().mul(.01).toVar(),l=v(r,t).normalize().mul(.01).toVar(),s=he(e,a),n=he(e.add(t),a),d=he(e.add(l),a),u=o(n,s),m=o(d,s);return z(v(u,m).normalize())})),ze.defaults={$name:"Translator",$positionNode:!0,$selectorPlanar:!0,distance:new ea(-.5,0,.2),selectorCenter:new ea(0,0,0),selectorAngles:new oa(0,0),selectorWidth:.7};var xe=a((([a])=>a.add(x(a.mul(Math.PI))))),ke=a((a=>{a=Ma({...ke.defaults,...a});var e=b.mul(A(a.scale.div(2).add(.5))).add(a.seed).toVar(),o=e.round().toVar(),r=o.toVar(),s=l(1).toVar(),d=t().toVar(),u=l().toVar(),m=l(0).toVar();C(27,(()=>{var a=m.mod(3).sub(1),l=m.div(3).floor().mod(3).sub(1),i=m.div(9).floor().sub(1);d.assign(o.add(t(a,l,i))),u.assign(e.distance(xe(d)).add(x(e).div(5))),n(u.lessThan(s),(()=>{s.assign(u),r.assign(d)})),m.addAssign(1)}));var i=x(r.mul(Math.PI)).toVar(),c=T(s,i.add(1).div(2),a.facet),v=T(a.color,a.background,c).toVar(),g=t(i.mul(16.8),i.mul(31.4159),i.mul(27.1828)).sin().add(1).div(2);return T(v,T(v,g,a.variation),a.variation)}));ke.defaults={$name:"Voronoi cells",scale:2,variation:0,facet:0,color:new aa(0),background:new aa(12636415),seed:0};var Ae=a((([a,e,o,r,t])=>{var l=x(a.add(t)).add(r).clamp(0,1);return l=m(l.mul(Math.PI)).add(1).pow(.5).toVar(),a.add(l.mul(e,o))})),Me=a((a=>{a=Ma({...Me.defaults,...a});var e=b.mul(A(a.scale.div(1).add(1))).toVar(),r=L.normalize().toVar(),l=B.normalize().mul(.001).toVar(),s=v(r,l).normalize().mul(.001).toVar(),n=g(a.density,0,1,1.5,.7).toVar(),d=t(u(a.seed).mul(100),m(a.seed.div(2)).mul(100),u(a.seed.div(3)).mul(100)).toVar(),i=Ae(e,r,a.bump,n,d),c=Ae(e.add(l),r,a.bump,n,d),V=Ae(e.add(s),r,a.bump,n,d),p=o(c,i),y=o(V,i);return z(v(p,y).normalize())}));Me.defaults={$name:"Water Drops",$normalNode:!0,scale:1.4,density:.5,bump:.6,seed:0};var $e=a((a=>{a=Ma({...$e.defaults,...a});var e=d(a.flat,a.variation.mul(.85).add(.15),a.variation),o=b.mul(A(a.scale.div(4).add(2))).add(a.seed).toVar(),r=d(a.flat,G,F(b.normalize())).toVar(),l=r.x.mul(a.stripes.round(),d(a.flat,Math.PI,2*Math.PI)).add(x(o.mul(t(1,.3,1))).mul(2)).sin().add(.5).div(2).mul(r.y.remap(0,1,-Math.PI,Math.PI).cos().add(1.2).clamp(0,1)).add(e.mul(2,x(o.mul(1.5)).div(2))).add(e.mul(2,x(o.mul(4)).div(6))).toVar();return l.assign(l.mix(l.round(),.75).add(x(o.mul(2)).mul(a.noise,.5)).add(x(o.mul(3)).mul(a.noise,1)).add(x(o.mul(15)).mul(a.noise,.2)).clamp(0,1)),T(a.background,a.color,l).toVar()}));$e.defaults={$name:"Watermelon",scale:2,stripes:12,variation:.5,noise:.25,color:new aa("yellowgreen"),background:new aa("darkgreen"),flat:0,seed:0};var Ie=a((a=>{a=Ma({...Ie.defaults,...a});var e=Z(a.angle).toVar(),r=t(o(b.x.mul(m(e)),b.y.mul(u(e))),s(b.x.mul(u(e)),b.y.mul(m(e))),b.z).toVar(),n=r.mul(A(a.scale.sub(3)).mul(t(Q(a.length),4,Q(a.length)))).add(a.seed).toVar(),d=x(n).add(1).mul(10).mul(a.rings);d=d.add(d.cos()).cos().add(1).div(2);var i=l(0).toVar(),v=l(0).toVar(),g=A(a.scale.sub(2)).mul(t(1,a.fibersDensity,1)).toVar(),V=l(2).toVar();return C(10,(()=>{i.addAssign(c(V,x(r.mul(g).add(a.seed)))),v.addAssign(V),g.mulAssign(1.8),V.mulAssign(.6)})),i.assign(c(i,5).div(v).mul(10).sin().add(1).div(2)),T(a.color,a.background,T(d,i,a.fibers))}));Ie.defaults={$name:"Wood",scale:2.5,rings:4.5,length:1,angle:0,fibers:.3,fibersDensity:10,color:new aa(.8,.4,0),background:new aa(.4,.1,0),seed:0};var Pe=a((a=>{a=Ma({...Pe.defaults,...a});var e=d(a.flat,b,b.normalize()).toVar(),o=d(a.flat,J(m(a.phi),u(a.phi)),na(a.phi,a.theta)).toVar(),r=d(a.flat,E(o.dot(e),-2,2),S(E(o.dot(e),-1,1))).toVar(),t=A(a.scale.add(1)).toVar(),l=u(r.mul(t)).sub(a.thinness.sub(.5).mul(2));return l=E(l.mul(1e3).div(t),-1,1).mul(.5).add(.5),T(a.background,a.color,l)}));Pe.defaults={$name:"Zebra lines",scale:2,thinness:.5,phi:0,theta:0,color:new aa(0),background:new aa(16777215),flat:0};export{da as applyEuler,Ia as camouflage,Pa as caveArt,Ta as circles,Ea as clouds,Ba as concrete,Wa as cork,Ra as dalmatianSpots,sa as dynamic,Na as dysonSphere,Da as entangled,Ya as fordite,Ua as gasGiant,Ha as grid,Aa as hideFallbackWarning,ta as hsl,Oa as isolines,Za as karstRock,ja as marble,va as matRotX,ga as matRotY,pa as matRotYXZ,Va as matRotZ,ya as matScale,fa as matTrans,Xa as neonLights,$a as noised,ha as normalVector,wa as overlayPlanar,_a as photosphere,Ka as planet,Ja as polkaDots,Ma as prepare,ae as processedWood,oe as protozoa,ia as remapExp,te as rotator,se as roughClay,ne as runnyEggs,me as rust,ie as satin,ve as scaler,ge as scepterHead,Ve as scream,ba as selectPlanar,ka as showFallbackWarning,pe as simplexNoise,na as spherical,ye as stars,be as supersphere,we as tigerFur,la as toHsl,ze as translator,ca as vnoise,ke as voronoiCells,Me as waterDrops,$e as watermelon,Ie as wood,Pe as zebraLines};