Dave Pagurek, desarrollador de p5.js, ha implementado shaders de cálculo en la librería para abordar la complejidad de la programación de GPU en entornos educativos. El objetivo es proporcionar una estructura de aprendizaje (scaffolding) que permite a los estudiantes comenzar con conocimientos básicos de JavaScript, como bucles y funciones, sin necesidad de dominar previamente el pipeline de shaders o APIs de bajo nivel como Vulkan o WebGPU. Esta aproximación resuelve la barrera de entrada alta que tradicionalmente ha impedido el uso de herramientas como p5.js para enseñar gráficos por computadora, que hasta ahora se centraban en el modo 2D o requerían frameworks más pesados como three.js. El sistema p5.strands oculta la infraestructura técnica hasta que el estudiante está listo para aprenderla, permitiendo la creación de filtros personalizados y texturas generativas de forma intuitiva. Por ejemplo, los usuarios pueden definir funciones que modifican colores o texturas en cada píxel, similar a cómo funcionan los filtros estándar de p5, pero con el poder de la GPU. Esta metodología facilita la transición gradual hacia sistemas de ingeniería más avanzados, manteniendo la productividad inmediata mientras se introducen conceptos como uniformes y variables de fragmentación. El resultado es una herramienta didáctica que democratiza el acceso a la programación paralela en la GPU, alineando la abstracción con las necesidades reales de los estudiantes de ciencias de la computación.
