# Improving p5.js WebGL/3D functionality project for GSoC 2020

**URL:** <https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862>\
**Category:** Summer of Code\
**Created:** [March 21, 2020, 8:14am UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862 "2020-03-21T08:14:52Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![shirou](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/shirou/32/8417_2.png) [@shirou](https://discourse.processing.org/u/shirou)\
**Post date:** [March 21, 2020, 8:14am UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862/1 "2020-03-21T08:14:52Z")

</div>

Hi,  
I am Divyam ,an undergraduate student from India.  
For GSoC 2020 project , I would like work on WebGl /3D API of p5.js, as it lacks optimisations, shadow mapping and has some flaws in material system. I want to take advise and suggestions about improvements that I can include in my project.  
Thanks in Advance.

---

<div class="post-metadata">

**Author:** ![shirou](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/shirou/32/8417_2.png) [@shirou](https://discourse.processing.org/u/shirou)\
**Post date:** [March 22, 2020, 7:10am UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862/2 "2020-03-22T07:10:31Z")

</div>

@saberkhan Who should I contact for suggestions regarding to this project?

---

<div class="post-metadata">

**Author:** ![kjhollen](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kjhollen/32/23_2.png) [@kjhollen](https://discourse.processing.org/u/kjhollen)\
**Post date:** [March 23, 2020, 10:16pm UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862/3 "2020-03-23T22:16:50Z")

</div>

Hi @shirou, I’m not sure if I will mentor a web GL project this year, but I’ve worked on this part of the codebase and can review any draft proposals that you share here.

---

<div class="post-metadata">

**Author:** ![shirou](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/shirou/32/8417_2.png) [@shirou](https://discourse.processing.org/u/shirou)\
**Post date:** [March 24, 2020, 6:30am UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862/4 "2020-03-24T06:30:57Z")

</div>

Thanks @kjhollen, I made a draft proposal and got it reviewed by @stalgiag and he said that it’s vague for now. So I want to take suggestions from people who are involved in this part of codebase, about potential features or improvements that can be included. I think the renderer lacks shadow mapping, optimizations and maybe deferred shading or deferred lightning can be introduced in pipeline too…for optimization.

Here’s a link to my draft proposal though-

> **[Improving p5.js WebGL/3D functionality (GSoC 2020)](https://docs.google.com/document/d/1dtAywWmrWsSk8VzIEGO1DSDrfzahQO6E7053tIdS6nE/edit?usp=drivesdk)**
>
> Improving p5.js WebGL/3D functionality Divyam Ahuja , ahujadivyam@gmail.com , GitHub Project Abstract The WebGL/3D renderer of p5.js library is still in phase of development and has lots of functionalities like applying multiple materials missing. I...

---

<div class="post-metadata">

**Author:** ![shirou](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/shirou/32/8417_2.png) [@shirou](https://discourse.processing.org/u/shirou)\
**Post date:** [March 26, 2020, 5:04pm UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862/5 "2020-03-26T17:04:52Z")

</div>

Hello @kjhollen @stalgiag,  
I updated my proposal with features that I think should be implemented , am not familiar with proccessing java so I don’t know how much difference is there currently between p5.js and processing java.  
So can you advise me upon the features that can be added to p5.js and improvements that can be made.  
I think using deferred rendering and multiple framebuffers can improve the performance of webgl

---

<div class="post-metadata">

**Author:** ![kjhollen](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/kjhollen/32/23_2.png) [@kjhollen](https://discourse.processing.org/u/kjhollen)\
**Post date:** [March 26, 2020, 9:28pm UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862/6 "2020-03-26T21:28:37Z")

</div>

thanks for sharing, @shirou. I agree that the proposal could be more detailed. It might be helpful to reference some current issues on GitHub to get a sense of what there is to implement and fix.

---

<div class="post-metadata">

**Author:** ![shirou](https://yyz2.discourse-cdn.com/flex036/user_avatar/discourse.processing.org/shirou/32/8417_2.png) [@shirou](https://discourse.processing.org/u/shirou)\
**Post date:** [March 27, 2020, 4:55pm UTC](https://discourse.processing.org/t/improving-p5-js-webgl-3d-functionality-project-for-gsoc-2020/18862/7 "2020-03-27T16:55:09Z")

</div>

Yeah @kjhollen, I was interested in these 2 issues specifically:

> <https://github.com/processing/p5.js/issues/4274>
>
> Most appropriate sub-area of p5.js?
> Color
> Core/Environment/Rendering
> Data
> Events
> Image
> IO
> Math
> Typography
> Utilities
> WebGL
> Other (specify if possible)
> Details about the...

  

> <https://github.com/processing/p5.js/issues/4214>
>
> After perspective() is called, stroke weights become unexpectedly thin near the camera while objects far away are stroked too thickly. I...

I added Issue number to proposal just now.
