Σύνοψη κεφαλαίου . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
21
23
Γενική αρχιτεκτονική . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
23
Σύστημα δημιουργίας παραθύρου (Window System – GLFW abstraction) . . .
24
Σύστημα διαχείρισης εισόδου . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
Enum KeyCode και ανεξαρτησία από backend . . . . . . . . . . . . .
26
Event System . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
26
Σύστημα απόδοσης γραφικών Rendering Pipeline . . . . . . . . . . . . . . . .
28
Διαχείριση γεωμετρίας και Buffer Objects . . . . . . . . . . . . . . . .
29
. . . . . . . . . . . . . . . . . . . . . . . .
29
Βελτιστοποίηση μέσω Batch Rendering . . . . . . . . . . . . . . . . .
29
Αναπαράσταση αντικειμένων: Από την κλάση GameObject στο Entity Component
System (ECS) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
30
Αναπαράσταση πλέγματος με δομή Half-Edge
. . . . . . . . . . . . .
30
Αρχική προσέγγιση: Ιεραρχία Κλάσεων . . . . . . . . . . . . . . . . .
32
Μετάβαση στην αρχιτεκτονική Entity–Component–System (ECS) . . .
33
Σύστημα διαχείρισης σκηνής (Scene Management) . . . . . . . . . . . . . . .
35
Η κλάση Scene . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
35
Κύκλος ζωής σκηνής . . . . . . . . . . . . . . . . . . . . . . . . . . .
36
Σύστημα Components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
37
Transform Component . . . . . . . . . . . . . . . . . . . . . . . . . .
37
SpriteRenderer Component . . . . . . . . . . . . . . . . . . . . . . . .
37
Light Component 2D . . . . . . . . . . . . . . . . . . . . . . . . . . .
38
Box_Collider Component . . . . . . . . . . . . . . . . . . . . . . . .
38
. . . . . . . . . . . . . . . . . . . . . . . . . . .
39
Audio Component . . . . . . . . . . . . . . . . . . . . . . . . . . . .
39
UI Text Component . . . . . . . . . . . . . . . . . . . . . . . . . . . .
40
Python API . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
Τρόπος υλοποίησης . . . . . . . . . . . . . . . . . . . . . . . . . . . .
42
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
43
Σύστημα διεπαφής χρήστη . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
ui components . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
45
ui rendering system . . . . . . . . . . . . . . . . . . . . . . . . . . . .
46
ui διαχειριστής (manager) . . . . . . . . . . . . . . . . . . . . . . . .
46
4.10 Συμπληρωματικές λειτουργικότητες . . . . . . . . . . . . . . . . . . . . . . .
47
4.10.1 input output . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
47
4.10.2 Μαθηματικά εργαλεία . . . . . . . . . . . . . . . . . . . . . . . . . .
48
iv