Design and Development of Multiplatform Graphical Library

OData support
Dr. Ekler Péter
Department of Automation and Applied Informatics

Nowadays, various mobile- and computing devices became part of our everyday life, in the area of business as well entertainment. Due to the differences between the widely spread device types, the development for these became more and more complicated, because (taking the classic developmental model) if one was to publish an application to multiple platforms, then he/she would have to go through the entire development process for each environment. Seeing this problem, it seems to be rational to create such a system, which solves the problem above, and allows the developers to create applications in a shorter time, while all of the potential users can be reached.

The subject of the thesis is to design and implement such a system that allows development of game applications for multiple platforms, while producing the same result. It can be determined, that all of the widespread systems allow development in C/C++ programming language, and it is the most common language in the game industry, therefore the library uses this as well. The main intent during the development is that the framework should provide the least possible performance overhead, so it often depends on the use of compile time optimizations. During the creation of the library, there was developed such a programming language that is capable of hiding the dissimilarity of distinct graphical driver APIs (Application Programming Interface), such as OpenGL and DirectX. This language is also intended to improve the performance.

The thesis describes the structure, its internal behaviour, and the engineering decisions behind the development of a system mentioned in its subject. The second part provides explanation on the topic of the compiler attached to the developed library, and specifies the details of the created language. The last part shows the result of the development, and gives insight into the example application, which was developed simultaneously with the library, to eliminate the errors and test the implemented functions.


Please sign in to download the files of this thesis.