@shopware-ag/dive
Version:
Shopware Spatial Framework
2 lines (1 loc) • 716 B
JavaScript
;const h=require("three/webgpu"),o=require("three/tsl");class p extends h.Node{constructor(i){super(),this.name="GridNode";const t=o.positionWorld.xz,s=t.div(i.uGridSize),r=o.abs(o.fract(s.sub(.5)).sub(.5)).div(o.fwidth(s)),l=o.min(r.x,r.y),u=i.uGridSize.mul(i.uMajorLineEvery),e=t.div(u),n=o.abs(o.fract(e.sub(.5)).sub(.5)).div(o.fwidth(e)),m=o.min(n.x,n.y),a=o.float(1).sub(o.min(l,1)),d=o.float(1).sub(o.min(m.div(2),1)),c=o.max(a,d).mul(o.float(1).sub(o.smoothstep(i.uFadeDistance.mul(.5),i.uFadeDistance,o.positionWorld.xz.sub(o.cameraPosition.xz).length())));c.lessThan(o.float(.001)).discard();const b=o.mix(i.uMinorLineColor,i.uMajorLineColor,o.step(a,d));return o.vec4(b,c)}}exports.GridNode=p;