feat: choice of library first ver

This commit is contained in:
Krzysztof Rudnicki 2022-08-24 16:58:20 +02:00
parent c5f49c39f3
commit 4f52cc7c17
3 changed files with 45 additions and 0 deletions

1
.gitignore vendored
View File

@ -9,3 +9,4 @@ Thesis/4_2022_zał 1_ Zarz_wymogi edytorskie_-2.pdf
Thesis/Thesis.bbl
Thesis/Thesis.blg
Thesis/Thesis.toc
Thesis/Thesis.out

Binary file not shown.

View File

@ -29,6 +29,7 @@
% tytul 2 poziomu 13
% tytul 3 poziomu 12
\usepackage{sectsty}
\chapterfont{\fontsize{14}{14}\selectfont}
\sectionfont{\fontsize{13}{13}\selectfont}
@ -50,6 +51,15 @@
% OR Styl Harwardzki <-----
% Bibliografia w układzie alfabetycznych wg nazwisk autorów (has to be ensured manually)
\usepackage{natbib}
\usepackage{hyperref}
\hypersetup{
colorlinks=true,
linkcolor=blue,
filecolor=magenta,
urlcolor=cyan,
pdftitle={Overleaf Example},
pdfpagemode=FullScreen,
}
\bibliographystyle{agsm}
% From specification:
@ -218,6 +228,40 @@ does not deliver more complicated architecture.
From my own private preferences I also prefer software with
open source license.
\section{Choice of OpenGL Library}
There are 4 basic OpenGL libraries that I considered:
\begin{itemize}
\item freeGLUT
\item SDL
\item SFML
\item GLFW
\end{itemize}
freeGLUT was created as opensource alternative to GLUT,
is considered to be the worst out of all 4,
written in archaic way, using C or very old C++,
which in turn results in unexpected "buggy" behaviour,
it is also not really popular with lack of online guides \\
SDL - Simple DirectMedia Layer has big userbase,
it is not designed to by used as a standalone
library and requires additional libraries to do networking
or to create more complex applications. \\
SFML is the library with most features out of all 4,
it supports networking, audio and has system features by
default. It uses modern object oriented C++.
Main problem with SFML is that it is not very popular API,
therefore troubleshooting problems with SFML is quite hard and
it has only few use guides online \\
GLFW is an library that is both the most popular and with fewest features by default.
It forces users to use additional libraries for networking,
sound, physic calculations and so on but in turn is also
quite small and flexible. It has biggest community and a
lot of guides, like one hosted at
\href{learnopengl.com}{learnopengl.com} or one created by
programming youtuber Cherno \\
I decided to use GLFW library. I wanted something that is
relatively easy to troubleshoot and has abundance of
learning materials online.
% \bibliography{sample}