Understanding Android OpenGL Through UML

I find it easier to learn a new software system by creating diagrams. Today, I created a couple Unified Modeling Language (UML) diagrams for Android OpenGL. These diagrams present a high-level view of the Android OpenGL rendering domain.

The class diagram describes the main classes and relationships. I also described a few important methods for particular classes. The most useful part of these types of diagrams is the comments which often describe the responsibilities of a class.

Android OpenGL ES Class Diagram
Android OpenGL ES Class Diagram

The sequence diagram was an attempt to manually render an OpenGL frame containing a shape. I purposely left out some of the details for the generic OpenGL calls because they didn’t add any value to the diagram.

Android OpenGL ES Sequence Diagram
Android OpenGL ES Sequence Diagram

I haven’t had a chance to vet the sequence diagram for accuracy. I will update this post and diagrams if I discover any issues. Let me know what you think. Or, if I made a mistake I will make a revision.