UNPKG

@absulit/points

Version:

A Generative Art library made in WebGPU

32 lines (25 loc) 996 B
import { texturePosition } from '../../image.js'; import { snoise } from '../../noise2d.js'; const frag = /*wgsl*/` ${texturePosition} ${snoise} @fragment fn main( @location(0) color: vec4f, @location(1) uv: vec2f, @location(2) ratio: vec2f, // relation between params.screen.x and params.screen.y @location(3) uvr: vec2f, // uv with aspect ratio corrected @location(4) mouse: vec2f, @builtin(position) position: vec4f ) -> @location(0) vec4f { let scale = params.waves_scale; let intensity = params.waves_intensity; let n1 = (snoise(uv / scale + vec2(.03, .4) * params.time) * .5 + .5) * intensity; let n2 = (snoise(uv / scale + vec2(.3, .02) * params.time) * .5 + .5) * intensity; let n = n1 + n2; let imageColor = texturePosition(renderpass_feedbackTexture, renderpass_feedbackSampler, vec2(0., 0), uvr + n2, true); let finalColor:vec4f = imageColor; return finalColor; } `; export default frag;