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_class_diagram Android OpenGL ES Class Diagram](http://www.disgruntledrats.com/wp-content/uploads/2010/04/android_opengl_class_diagram.jpg)
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_sequence_diagram Android OpenGL ES Sequence Diagram](http://www.disgruntledrats.com/wp-content/uploads/2010/04/android_opengl_sequence_diagram.jpg)
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.