GUI3D is a generic implementation of common GUI components for 3D simulation in Processing 3. Components include navigation, control sliders, radio buttons, and the means to select objects in 3D space with a mouse. This template can speed up implementation of 3D simulations in Processing, so we're releasing it with hope that it will be useful to others.
For those who don't know, Processing is a flexible sketchbook language for coding visualizations. Processing has a low barrier to entry but leaves lots of room to grow. It's approachable for people (like myself) who are not traditionally trained as a computer scientist, and most can learn to write and share their own basic software within minutes. For a very quick tutorial check out Hello Processing.
Click here to view the GUI3D Template repository on Github.
Processing applications can use some combination of 2D and 3D graphics, but 3D functionalities are arguably not as accessible as their 2D counterparts. Recent case studies informed a generic template for creating interactive 3D simulations. The template implements graphical user interface (GUI) elements with vanilla Processing commands (i.e. no additional libraries required). The template is provided as a Processing sketch folder (as opposed to a library) to hopefully make it easier for novice users to view and hack. Also, I don't really like using libraries.
Recent case studies involve pedestrian sensing, the future of parking, and global flight paths. These case studies all required various but similar GUI components like navigation, zooming, and rotation. I also needed things like control sliders, radio buttons, and the means to select objects in 3D space with a mouse. As of writing this article, only future of parking fully implements the GUI3D Template.
Thank you MIT, Airbus, Gensler, Changing Environments, Singapore Centre for Liveable Cities, GSK, Processing Foundation, and many others for supporting this work. Thank you Mike Winder for help with the Globe. Thank you Brandon Martin-Anderson and Jie Qi for feedback and brain space.