Skip to content

Shader-based BLUR Filter Discrepancy in p5.js #6397

Closed
@SableRaf

Description

@SableRaf

Increasing Access

Ensuring a consistent visual output across p5 versions reduces confusion and lessens cognitive load for both learners and long time users.

Most appropriate sub-area of p5.js?

  • Accessibility
  • Color
  • Core/Environment/Rendering
  • Data
  • DOM
  • Events
  • Image
  • IO
  • Math
  • Typography
  • Utilities
  • WebGL
  • Build Process
  • Unit Testing
  • Internalization
  • Friendly Errors
  • Other (specify if possible)

Feature enhancement details

Note: this is a follow up to the conversation on #6324

First of all, many thanks to @wong-justin, @aferriss, and @aceslowman for the outstanding work on integrating shader-based filters in p5.js.

However, I've noticed a difference in the output of the filter(BLUR). For clarity, I've put together a visual comparison using a small demo sketch available here. Additionally, here's the image derived from the demo:

image

Generated on Chrome Version 116.0.5845.140 (Official Build) (arm64), MacOS Ventura 13.4 (22F66)

The newly added shader for BLUR uses a box blur, as opposed to the Gaussian blur in CPU mode. Might be worth checking if we can use a Gaussian kernel in the shader and what that means for performance. It'd be great to have outputs that are consistent, especially for older projects that were built around the original blur and whose outputs will look different with the new shader-based method.

Looking forward to the community's insights on this.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    DONE! 🎉

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions