background image

Στο πλαίσιο της αρχιτεκτονικής 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