3D Components in App Inventor
An approach to enhance the functionality of MIT App Inventor by adding support of 3D components using OpenGL and Google AR-Core.
Hi everyone,
I am Preet Vadaliya(@preetvadaliya) one of the Google Summer of Code 2022 contributors and this summer of code I will be working on the 3D Components in App Inventor project and my mentors are Evan Patton(@ewpatton) and Susan Lane(@Susan_Lane).
About the Project
As we all know that we have a very good system for rendering and manipulating 2D shapes in the App using the canvas component, but currently, there is no rendering and manipulating system for 3D shapes, this project will add a new rendering and manipulating system for 3D shapes using OpenGL ES.
Use Cases
There are lots of use cases for 3D visualization, some of them are mentioned below…
- 3D modeling & shape drawing
- 3D Game development
- It will open a new door of development in Augmented Reality (Using AR Core)
Deliverables
The project is a bit long, we will not only add the new 3D surface (in which the object will be rendered), but we will also add some basic 3D shapes that will help beginners.
Similar to 2D drawing (Drawing and Animation), it will add a new component category for 3D visualization.
- New component category 3D Drawings and Animation.
- 3D shapes holder Space component.
- AR SurfaceView
- Realtime plane detection
- Basic 3D shapes.
- Cube
- Pyramid
- Sprites
- Other custom 3D shapes using coordinates.
Key Notes
First of all, I would like to thank Evan Patton (@ewpatton) for guiding me to make this proposal. I discussed it with him almost every day. Here is the summary of the talk…
- We will use ARCore as much as possible to render 3D objects on a real plane.
- We will try to follow Nichole Clarke's thesis in which she applied it for iOS.
- Each 3D component will be a first-order component.
- First we will try to implement an example in Android Studio and then try to replicate it in App Inventor.
- Work done before GSOC proposal
- Simple shape rendering on GLSurfaceView (Android & App Inventor).
- Custom 3D object on GLSurfaceView (App Inventor).
- Plane detection with ARCore (Android Studio).
Thanks
Preet P. Vadaliya