Στο πλαίσιο της αρχιτεκτονικής ECS, το Audio Component περιγράφει αποκλειστικά τις
ιδιότητες της ηχητικής πηγής, ενώ η διαχείριση και η αναπαραγωγή πραγματοποιούνται από το
Audio System.
class Audio_Component
{
public:
Audio_Component();
~Audio_Component();
void load_wav(const std::string& file_path);
void attach_buffer();
public:
bool play_on_start = false;
bool looping = false;
float gain = 1.0f;
float pitch = 1.0f;
bool initialized = false;
Audio_Source source;
private:
Audio_Buffer
*
m_buffer = nullptr;
};
Το σύστημα απόστασης ήχου (audio popeline), χρησιμπολοιήθηκε η βιβλιοθήκη opleal.
4.7.7
UI Text Component
Το UI_Text_Component χρησιμοποιείται για την απόδοση δυναμικού κειμένου στη διεπαφή
χρήστη (Graphical User Interface). Η υλοποίηση βασίζεται στη βιβλιοθήκη stb_truetype.h, η
οποία επιτρέπει την ανάγνωση και rasterization γραμματοσειρών τύπου TrueType (TTF).
Σε αντίθεση με την απλή χρήση bitmap γραμματοσειρών, η προσέγγιση αυτή επιτρέπει:
• Δυναμική φόρτωση γραμματοσειρών
• Δημιουργία atlas χαρακτήρων
• Υποστήριξη διαφορετικών μεγεθών κειμένου
• Ευελιξία στη χρωματική απόδοση
Δημιουργία Font Atlas
Η διαδικασία απόδοσης κειμένου περιλαμβάνει τα εξής στάδια:
40