Hey! My name is Sanket Singh, and I intend to work on improving and enhancing the WebGL mode in this year’s Google Summer Of Code. I have been contributing to p5.js since last December, so I know basic things about p5 and its workflow. At the moment, these are some of the functionalities, along with a little briefing, which can be implemented (clicking in my mind atm) and might benefit the community-
spotLight()- A spotlight is a type of directional light that is not coming from infinitely far away. That is, it has a source position. The closest real-world example would be of a torch’s light, in the dark.
emissiveMaterial()- What if, the material itself glows? Well, it is effectively an
ambientMaterial()which does not rely on lighting up to a certain extent.
specularLight()- If your sketch contains a red rubber ball, and a white light shines on it, diffuse red light is reflected in all directions. If that ball were to land in a puddle, the water on the surface of the ball would shine, or reflect a specular light. Specular refers to light which bounces off a surface in a preferred direction (rather than bouncing in all directions like a diffuse light).
fallOff()for lights - What if you are standing with a lamp in your hands? Things which are further away from you would appear darker, or the light would ‘fall off’.
removeLights()- Want to reset all the lights defined earlier, or just want no lighting effect in some part of your sketch?
a function, by which the users can crop or resize the image in the sketch itself, would prove helpful, along with a sister function, which would return the original image.Removed this because there are many open source tools which are better.
frustum()- An alternative to perspective camera with more freedom to user to select the projection.
I need reviews and suggestions on the above, along with maybe new ideas which can be implemented?
Also, I posted an issue on GitHub for the same. Thanks for your time!
Edit: Currently, all the implementation are very brief. I would include the actual code changes in th proposal itself.