GSOC 2015 Ideas - p5.js WebGL render and Processing/p5.js library for Google Cardboard


My name is Andrew Mendez. I am a 4th computer engineering student studying at the University of Central Florida. Congrats on being accepted to the 2015 GSOC :). I was looking at this thread the day before I was like, I love Processing, how cool would it be apart of the open source project as a GSOC developer :).

I saw in the Processing Project List, you are interested in implementing a WebGL Render and drawing features in p5.js. I recently took an undergraduate course, called an Intro to Computer Graphics, where all my assignments and classwork was implemented in WebGL. So I have extensive experience in WebGL. I have also played around with p5.js and I noticed it did not have a 3D graphic library like Processing did. I think that would be amazing to be apart of that development and enable 3D graphics on p5.js! A note on this is that, as I wouldn't mind completing the development in WebGL, would it be easier to implement a 3D graphics render in p5.js with three.js and also enable shader support? I would like to talk about this idea with you all and see what I can do to be apart of it :).

Another idea I have for GSOC 2015 is implementing a Google Cardboard/Stereoscopic Render library for Processing for Android and p5.js. Google Cardboard, and other Virtual Reality headsets that use mobile phones, is a game changer in terms of virtual reality. The cost of exploration and development into VR is only a smartphone, cardboard, and cheap lenses. Also, mobile browsers on smartphones now enable the capability to render WebGL and three.js, so virtual reality on mobile phones is approaching even closer. I think creating a library that implements a stereoscopic render, drawing canvas, and api on Processing for Android and p5.js would be an amazing opportunity for artists and creative coders to dive in to virtual reality and take VR to a whole new level.

I am interested in also working on the p5.js IDE, the PDE, processing for Android, and updating libraries and implementing new libraries in Processing.

I have experience in Java, Javascript, WebGL, node.js, and OpenFrameworks :). You can look at my work and projects I have completed on my online portfolio:

I am also up for other ideas. I would just love to spend a summer working on creative coding and contributing to processing and p5.js projects.

Thank you and I look forward to hearing from you all :)





  • All of these ideas sound wonderful, thanks for your interest! A webgl renderer for p5.js is a top priority for us this summer so we would welcome proposals in this area. You can read more about possible ideas at the link below:

    @lmccart can speak to more details about p5.js.

    Thanks! Dan

  • Hi Andrew, thanks for getting in touch! As Dan mentions, adding WebGL / shader support is very high priority! We aren't set on one particular strategy for implementing this and are open to proposals. I also love the idea of incorporating this into a stereoscopic renderer to enable things like Google Cardboard. You can see some progress toward the architecture to support multiple renderers begun here: Looking forward to reading your proposal!


  • Hi Andrew, I second Dan and Lauren! Having a WebGL renderer in p5.js is very important. All the OpenGL rendering in Processing is done through GLES 2.0 compatible shaders, so this might help when to implement the 3D API in p5.js so it behaves in a similar way to Processing. Go ahead and submit your proposal(s) (remember you can submit up to 5, although only 1 can be selected).

  • I was wondering, is it possible to send a proposal soon so I can have feedback before I send the official proposal by the deadline?

  • Please submit the proposal to google melange as soon as possible as we can provide feedback and comments there. If you would like feedback from the larger community you are welcome to repost here as well.

  • Thanks! I will write one up as soon as possible!

  • Hi,

    Is there now WebGL / shader support? Thank you.

Sign In or Register to comment.