@absulit/points
Version:
A Generative Art library made in WebGPU
37 lines (30 loc) • 1 kB
JavaScript
import { blur9 } from '../../effects.js';
import { texturePosition } from '../../image.js';
import { rotateVector, PI } from '../../math.js';
const frag = /*wgsl*/`
${texturePosition}
${PI}
${rotateVector}
${blur9}
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 feedbackColor = blur9(
renderpass_feedbackTexture,
renderpass_feedbackSampler,
vec2(0.,0),
uvr,
vec2(params.blur_resolution_x, params.blur_resolution_y), // resolution
rotateVector(vec2(params.blur_direction_x, params.blur_direction_y), params.blur_radians) // direction
);
let finalColor = feedbackColor;
return finalColor;
}
`;
export default frag;