contributor_docs/project_wrapups/wong_gsoc_2023.md
By Justin Wong
| Faster image filters | Less boilerplate for shader code |
|---|---|
| <video src="https://github.com/wong-justin/p5.js/assets/28441593/41edb6b9-ef4c-4b2e-8b22-2237da4617d9">filter(), before and after</video> | |
| old filter() sketch | old 2D shader sketch |
| new filter() sketch | new 2D shader sketch |
My work centered around the filter() function because it was too slow.
I made it faster by using shaders, which are programs that use the GPU for image processing.
Now people can use effects like blur without noticing such a drop in performance.
There were some secondary accomplishments as well.
There's a new function createFilterShader() that makes writing shaders easier.
I helped revise a few documentation pages.
I also tried to contribute some benchmarking tools, but that was a bit ambitious.
All of these changes make shaders and image filters more accessible.
I enjoyed the experience and learned a lot. In fact, I learned so much that I wrote another post on my website. That post is more about the GSoC experience in general, especially aimed at newcomers, and not so much about p5js details.
Many thanks to my mentors for all their support: Adam Ferriss, Austin Slominski, and So Sun Park. Thanks also to other maintainers like Dave Pagurek, Kenneth Lim, and Qianqian Ye for helping along the way.