Hazlewood, CarolSullivan, Joseph E.2020-09-162020-09-162007-12Sullivan, J. E. (2007). Optimizing OpenGL based software systems through reverse engineering (Unpublished thesis). Texas State University-San Marcos, San Marcos, Texas.https://hdl.handle.net/10877/12629Dynamic execution traces of the OpenGL application programming interface (API) were gathered to identify the functionalities provided by OpenGL. The traces were gathered from the open source implementation of the OpenGL API, Mesa3D. The execution traces were gathered from OpenGL by using a software profiler and three open source driver programs to exercise the API. Several tools were developed to preprocess the execution traces. The tools extracted the call graph information from the execution traces and removed any call chains not related to the driver programs or OpenGL. The tools also formatted the call graph so that it would be acceptable input for the tools used to identify the functionalities. The preprocessed execution traces were then used to identify the functionalities of the API. There were 362 unique functionalities discovered with 1212 edges among them. The functionalities were identified. The hierarchical relationships among the functionalities were examined. Several optimizations, tools, and architectural analysis techniques are discussed using the information gathered.Text94 pages1 file (.pdf)encomputer graphicsreverse engineeringapplication softwaremathematical optimizationcomputer softwareOptimizing OpenGL Based Software Systems through Reverse EngineeringThesis