feat: add Choice of graphic rendering API

This commit is contained in:
Krzysztof Rudnicki 2022-08-23 17:02:23 +02:00
parent 437699db74
commit c5f49c39f3
2 changed files with 39 additions and 1 deletions

Binary file not shown.

View File

@ -179,7 +179,44 @@
\tableofcontents
\chapter{\{Kolejny Rodzial Pracy \} }
\chapter{ Introduction }
\section{ Choice of graphic renderning API }
There are 3 main APIs for graphical rendering
\begin{itemize}
\item DirectX
\item OpenGL
\item Vulkan
\end{itemize}
DirectX developed by Microsoft focues on Windows operating systems and
Microsoft line of consoles Xbox, it is deemed as being harder with more
low level programming and requiring better understanding of how underlying
mechanisms work but in turn offers functionalities and better performance.
It does not have free license. \\
OpenGL is developed by Khronos Group and offers good compatibility,
especially if using OpenGL ES subset which works on Windows, Linux,
Mac OS, Android, iOS and all major consoles.
It is widely recognized as easiest of APIs and most popular choice
for writing first game engine. On the other hand it lacks some of
more advanced features which have to be written manually.
It uses open source license similar to BSD
\\
Vulkan is also developed by Khronos Group and as such is deemed as a
spiritual successor of OpenGL with focus on using modern C++ features and
fixing issues created by OpenGL 30 years old development time.
Out of these three it is recognized as the hardest one as
it is both complicated and newest. Similarly as OpenGL
it uses open source license, namely Apache License 2.0.
\\
Considering all of those characteristics I decided to go with OpenGL API,
specifically OpenGL ES subset with its focus on compatibility as
making a multiplatform application is one of the focues of this thesis.
I decided that since this will be my first attempt at game engine development
I need something that is relatively easy and has a lot of resources online.
I would most likely not use advanced features of Vulkan and DirectX and
therefore finish my thesis before approaching problems where OpenGL
does not deliver more complicated architecture.
From my own private preferences I also prefer software with
open source license.
% \bibliography{sample}
@ -187,3 +224,4 @@
\end{document}