Δημιουργία
Για να δημιουργηθεί ένας εικονικό τρισδιάστατο περιβάλλον σε
υπολογιστή το οποίο να περιλαμβάνει γραφική απεικόνιση, ήχο και να υπάρχουν
κανόνες εξομοίωσης φυσικής έπρεπε εμπλέξεις πολλές διαφορετικές βιβλιοθήκες. Η Real Library βασίζεται
σε τέτοιες βιβλιοθήκες τις οποίες έχει ενσωματώσει και συνδυάσει κάτω από μία
κοινή διεπαφή προγραμματισμού εφαρμογών (API). Κάθε μία από αυτές τις βιβλιοθήκες έχει τυλιχθεί ( wrap ). Έχει δημιουργηθεί
δηλαδή μία διεπαφή που υλοποιείται από μια κλάση στην περίπτωση μας, η οποία
ελέγχει τον τρόπο που επικοινωνεί με τα υπόλοιπα στοιχεία της Real Library.
Τα πλεονεκτήματα αυτού του τρόπου είναι ότι υπάρχει μια
συνοχή στον πυρήνα της Real Library.
Εάν βρεθεί κάποια καλύτερη βιβλιοθήκη από κάποια από τις ενσωματωμένες
βιβλιοθήκες τότε πολύ εύκολα μπορεί να αντικατασταθεί χωρίς να υπάρχει αλλαγή
στον τρόπο που θα συνεργάζεται με τις υπόλοιπες ενσωματωμένες.
Για παράδειγμα πριν ολοκληρωθεί η Alpha έκδοση της
βιβλιοθήκης αντικαταστάθηκε η βιβλιοθήκη Bullet Physics engine με την Havok Physics and Animation.
Θα μπορούσε να υπάρχει επιλογή κατά την μεταγλώττιση της
βιβλιοθήκης η οποία να χρησιμοποιεί την μία ή την άλλη. Δεν θεωρήθηκε όμως
αναγκαίο.
Διεπαφή προγραμματισμού εφαρμογών
Στις γλώσσες αντικειμενοστραφούς προγραμματισμού, διεπαφή προγραμματισμού
εφαρμογών ή application
programming interface (API),
συνήθως είναι η περιγραφή ενός συνόλου ορισμών κλάσεων και συναρτήσεων με
συγκεκριμένη συμπεριφορά. Αυτή η αφηρημένη έννοια συνδέεται με την πρακτική
εφαρμογή που παρέχεται από όλες τις δημόσιες μεθόδους των κλάσεων και επιπλέον
στοιχεία προγραμματισμού που είναι διαθέσιμα όπως συναρτήσεις, μεταβλητές,
απαριθμητές κα. Βέβαια υπάρχουν και στοιχεία εσωτερικά όπως κλάσεις που
χρησιμοποιούνται μόνο από άλλες συγκεκριμένες κλάσεις κι όχι από τον χρήστη. Το
API σε
αυτήν την περίπτωση μπορεί να θεωρηθεί σαν το σύνολο των στοιχείων
προγραμματισμού που είναι διαθέσιμα στον τελικό χρήστη. Αυτό σημαίνει ότι το API περιγράφει
τον τρόπο με τον οποίο ο χρήστης αλληλεπιδρά με τα αντικείμενα
που είναι διαθέσιμα.
Συνήθως το API είναι
συγγενές με μια βιβλιοθήκη. Τότε περιγράφει την συμπεριφορά της βιβλιοθήκης
καθώς η ίδια η βιβλιοθήκη είναι η πραγματική υλοποίηση αυτής της συμπεριφοράς.
Ένα API μπορεί να παρέχει πολλές πολλαπλές
υλοποιήσεις διαφορετικών βιβλιοθηκών οι οποίες μοιράζονται μια κοινή διεπαφή.
Ενσωματωμένες βιβλιοθήκες
Η Real Library ονομάζει ενσωματωμένη βιβλιοθήκη κάθε
βιβλιοθήκη κατασκευασμένη από τρίτους και έχει συμπεριληφθεί και χρησιμοποιηθεί
σε αυτήν.
Σε αυτήν την έκδοση της χρησιμοποιεί τις εξής βιβλιοθήκες.
- Irrlicht lightning fast realtime
3D engine
Απεικόνιση γραφικών στην οθόνη.
- Irrklang high level 3D audio engine / API
Αναπαραγωγή ήχων από την συσκευή ήχου/ηχεία.
- Havok Physics and Animation
Εφαρμογή των νόμων της κλασσικής μηχανικής στο εικονικό περιβάλλον.
- Lua
Ενσωμάτωση δυνατότητας εκτέλεσης από γλώσσα δέσμης ενεργειών.
- LuaBind
Ορισμός της σύνταξης των εντολών της γλώσσα δέσμης ενεργειών για αυτήν
την βιβλιοθήκη.
Επίσης χρησιμοποιεί την
Boost Library αλλά όχι με τον τρόπο που
αναφέρθηκε παραπάνω. Η
LuaBind
εξαρτάται από την
Boost κι η
Real Engine
από την
LuaBind.