The shader in this example uses depth information from a p5.Framebuffer to apply a blur. On a real camera, objects appear blurred if they are closer or farther than the lens’s focus. This simulates that effect. First, the sketch renders five spheres to the framebuffer. Then, it renders the framebuffer to the canvas and applies the blur shader, which is written in p5.strands.
Depth Blur (p5.strands): Created by Dave Pagurek. Revised by Caleb Foss. Remixed by Dave Pagurek. From 2026 onwards, edited and maintained by p5.js Contributors and Processing Foundation. Licensed under CC BY-NC-SA 4.0.
You can find the code history of these examples here: pre-2023 example, 2023 code, 2026 p5.strands translation. You can suggest improvements by contributing to the current website!
관련 예제

대체 텍스트 없음
필터 셰이더(Filter Shader) (p5.strands)
셰이더로 이미지를 조작합니다.

대체 텍스트 없음
필터 셰이더(Filter Shader) (GLSL)
셰이더로 이미지를 조작합니다.

대체 텍스트 없음
셰이더로 위치 조정하기 (p5.strands)
셰이더를 사용하여 도형의 정점을 조정합니다.

대체 텍스트 없음
셰이더로 위치 조정하기 (GLSL)
셰이더를 사용하여 도형의 정점을 조정합니다.

대체 텍스트 없음
프레임버퍼 흐림(Framebuffer Blur)
카메라의 심도(depth of field)를 시뮬레이션합니다.

A gradient from red to blue.
Gradient (p5.strands)
Draw a radial gradient between two points in p5.strands.

A dithered gradient from red to blue.
Dithered Gradient (p5.strands)
Draw a dithered radial gradient between two points in p5.strands.

A row of five orange spheres. The closest and farthest spheres from the camera appear blurred.
Depth Blur (p5.strands)
Simulate a camera's depth of field, with a shader written in p5.strands.

A city scene blurred around the edges of the frame
Variable Blur (p5.strands)
Create a blur shader with a different amount of blur at different parts of the canvas.