UNPKG

@absulit/points

Version:

A Generative Art library made in WebGPU

35 lines (27 loc) 1.01 kB
import { bloom, brightness } from '../../color.js'; import { PI } from '../../math.js'; import { texturePosition } from '../../image.js'; const frag = /*wgsl*/` ${texturePosition} ${bloom} ${brightness} ${PI} @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 startPosition = vec2(0.,0.); let rgbaImage = texturePosition(renderpass_feedbackTexture, renderpass_feedbackSampler, startPosition, uvr, false); //* .998046; let input = brightness(rgbaImage); let bloomVal = bloom(input, i32(params.bloom_iterations), params.bloom_amount); let rgbaBloom = vec4(bloomVal); let finalColor:vec4f = rgbaImage + rgbaBloom; return finalColor; } `; export default frag;