Improving WebGL Functionality: Requesting for review and further suggestion

Hi there,

I’m Shubham Kumar, a current undergrad at IIT Dhanbad. As the title suggests, I’m interested in further improving p5’s WebGL mode.

Here’s a draft of my proposal. I would be very grateful for any thoughts on whether these ideas could be a viable application.

I am open to suggestions based on what else is necessary for p5.js I’d love some feedback on how appropriate this all seems for a GSoC application and how I can improve it further.

Requesting @stalgiag @kjhollen @lmccart @micuat for the review.

(again I’m not officially a mentor, just to let you know)

My high level comment is that there is quite a variation of difficulty of tasks which makes me wonder if you already have good ideas on how to tackle each task. For example, adding round corners to rect would be an easy one and perhaps would take less than a week, but I’m not sure implementing shadow mapping in 2 weeks is feasible considering the tests and documentations you need to cover. Given that, especially, implementing shadow mapping, multiple materials and blur filters requires really good understanding of GLSL you need to prove that you are already fluent in GLSL.


Hi, @micuat. I must not say that I am fluent in GLSL, but I have been working on it for a few months. I am still in the learning phase, but I have a fair enough idea of implementing each of the things I proposed.

Right now, I tried to incorporate all the things in my proposal that I felt the community requires at the current stage, as I have been contributing to p5.js since January and have a fair enough idea of the p5.js workflow. I felt my highest priority should be to solve the current floating issues rather than implementing new features, so, in my draft, I felt I could only give 2 weeks for this feature, keeping in mind that I have to work on it before the GSoC. That’s why I try to keep my approach for this as detailed as possible.
Well, I will be highly grateful if you can suggest how I can improve it and what I should change or drop right now from my proposal.
And again, Thank you so much for your reply and suggestion :pray: :pray:

2 remarks:

I had problems in P3D to implement

  • the editor of quark’s g4p and
  • clipboard functionality

honestly I would drop shadow mapping and make sure you have enough time to implement other features with documentation and unit tests. By the way this is a case of 2D but you can find why I’m not recommending to go with shadows (besides the technical difficulty)

1 Like

Hi! I would echo @micuat 's feedback. Shadow mapping is complicated to implement and somewhat counter to the purpose of the project. Our goal is not to build a fully-featured WebGL library (which threejs does really well) but to create a tool for 3D experimentation for new coders and people who like the Processing/p5 API/philosophy. So this movement towards realism is likely more work than is justified by the value-added to the library’s mission. I would drop that section.

The multiple materials proposal is a big one and I think it is a great centerpiece for your proposal. It would be a good idea to reflect on how bringing the expected behavior with materials closer to P3D might improve overall accessibility. This can be as simple as stating directly that features that don’t work as expected can cause frustration and that frustration may be mistakenly placed on the learning process instead of the library for new coders.

I would also look into how Processing is handling this problem and include results from your research in your proposal.

Hope this helps!


I have made some of the alterations based on the suggestions and feedback I got. I am reposting it for further review. Any more suggestions or feedback would be really helpful.
Requesting: @stalgiag @micuat @AdityaRana