aboutsummaryrefslogtreecommitdiff
path: root/research.tex
diff options
context:
space:
mode:
Diffstat (limited to 'research.tex')
-rw-r--r--research.tex34
1 files changed, 14 insertions, 20 deletions
diff --git a/research.tex b/research.tex
index ad33d10..abfde3b 100644
--- a/research.tex
+++ b/research.tex
@@ -201,44 +201,38 @@ for audio some options could be: FMOD, Wwise, or iirKlang
\subsection{Conclusion}
-% TODO: this entire section
\section{Audio}
-% should audio research be scoped down to SDL2 (if that's what we're going with) or
-% standalone libraries only (for modularity?).
-
-The game engine is required to have an audio system with support for playing multiple
-audio streams (i.e.~tracks or samples) simultaniously. Since writing a custom live
-audio mixing engine is outside the scope of this project, this section compares
+The game engine is required to have an audio system
+\autocite[\ref{req:audio}]{crepe:requirements}. Since writing a custom real-time
+audio mixing engine is outside the scope of this project\mref, this section compares
various standalone audio engines that could be used in the engine.
-% TODO: requirements first!
+\subsection{Libraries}
+
+\Cref{tab:audio-engines} compares several standalone audio engine libraries that fit
+\cref{req:audio,req:lib:license}.
-% REQ ~ is cross-platform
-% REQ ~ supports multiple audio formats (TODO: which)
-% REQ ~ supports simultanious playback / mixing
-% REQ ~ has an open-source license
\begin{table}
\centering
\begin{tabular}{llc}
\toprule
\textbf{Library} & \textbf{License} & \textbf{API}\\
\midrule
- miniaudio & MIT-0 & C\\
- YSE & EPL & C++\\
- SoLoud & Zlip/LibPng & C++\\
+ miniaudio \autocite{lib:miniaudio} & MIT-0 & C\\
+ YSE \autocite{lib:yse} & EPL & C++\\
+ SoLoud \autocite{lib:soloud} & Zlip/LibPng & C++\\
\bottomrule
\end{tabular}
\caption{Audio engine library comparison}
\label{tab:audio-engines}
\end{table}
-% TODO: ref https://miniaud.io/
-% TODO: ref https://www.attr-x.net/yse/
-Not considered further:
+Other popular libraries that were researched but are unsuitable for this project
+include:\noparbreak
\begin{description}
- \item[FMOD] is proprietary
- \item[PortAudio] requires manual mixing
+ \item[FMOD \autocite{lib:fmod}] Is proprietary (violates \cref{req:lib:license})
+ \item[PortAudio \autocite{lib:portaudio}] Does not handle mixing
\end{description}
\section{Physics}