@absulit/points
Version:
A Generative Art library made in WebGPU
35 lines (27 loc) • 1.01 kB
JavaScript
import { bloom, brightness } from '../../color.js';
import { PI } from '../../math.js';
import { texturePosition } from '../../image.js';
const frag = /*wgsl*/`
${texturePosition}
${bloom}
${brightness}
${PI}
fn main(
color: vec4f,
uv: vec2f,
ratio: vec2f, // relation between params.screen.x and params.screen.y
uvr: vec2f, // uv with aspect ratio corrected
mouse: vec2f,
position: vec4f
) -> 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;