Το ray tracing ως μια μέθοδος για ρεαλιστική αναπαράσταση των σκιών και των αντανακλάσεων υπάρχει για δεκαετίες στο χώρο των 3D γραφικών, ωστόσο τα τελευταία χρόνια το βλέπουμε να λειτουργεί σαν ένα μοντέλο προώθησης, απλά και μόνο για να μπει στη λίστα των features των νέων προϊόντων.
Φυσικά, μιλάμε για την real time εκδοχή του ray tracing, δηλαδή την χρήση ειδικών μονάδων στο εσωτερικό των καρτών γραφικών μας οι οποίες πραγματοποιούν αυτές τις διαδικασίες πολύ πιο γρήγορα απ’ ότι στο παρελθόν.
Η ιστορία που θα αναφέρουμε σε αυτό το άρθρο ξεκινάει κάπου το 2018, όταν η NVIDIA αποφάσισε να ‘πλασάρει’ το ray tracing (το real time ray tracing πιο σωστά), ως κάτι που θα έμενε για να αλλάξει τα δεδομένα στο χώρο του gaming.
Ακόμα και τότε, οι κάρτες γραφικών ήταν κάπως δυσεύρετες λόγω του cryptomining, όμως σήμερα τη θέση της χαμηλής διαθεσιμότητας έχει πάρει η διαρκής αύξηση του πληθωρισμού, η ενεργειακή κρίση, σε συνδυασμό με τις πολιτικές εξελίξεις σε Κίνα, Ταϊβάν και τον πόλεμο στην Ουκρανία.
Αξίζει να αναφέρουμε ότι, μιας και το Ethereum έχει περάσει στην proof of stake εποχή, οι cryptominers που στερούσαν δεκάδες κάρτες γραφικών από τους gamers, αναγκάζονται να πουλήσουν τον εξοπλισμό τους.
Ας δούμε όμως πως λειτουργεί το real time ray tracing και γιατί θεωρείται ίσως μια από τις σημαντικότερες προσθήκες που έχουν γίνει τα τελευταία χρόνια στις κάρτες γραφικών μας.
Τι είχαμε πριν το real time ray tracing; Lightmaps, Global illumination και Ambient occlusion!
Για αρκετά χρόνια, τα παιχνίδια ενσωμάτωναν τις διαβαθμίσεις/διαφοροποιήσεις στον φωτισμό με τη μορφή lightmaps. Ουσιαστικά πρόκειται για textures που έφεραν ήδη την απαραίτητη πληροφορία του φωτισμού (διαφορετικού exposure χρώματα), με βασικό μειονέκτημα ότι ο φωτισμός δεν ήταν δυναμικός, αλλά fixed σε μια συγκεκριμένη θέση.
Η τεχνική αυτή υπήρχε στα πιο παλιά παιχνίδια, ωστόσο αντικαταστάθηκε με περισσότερο real time στοιχεία όπως το global illumination και το ambient occlusion.
Το ambient occlusion για παράδειγμα, έγινε mainstream με το Crysis το οποίο έτρεχε χάρη στη μηχανή γραφικών της γερμανικής Crytek, που δημιούργησε το παιχνίδι.
Το global illumination εμφανίστηκε εξίσου πολλά χρόνια πριν για να φέρει πιο ρεαλιστικό φωτισμό σε 3D σκηνές υπολογίζοντας τον άμεσο και έμμεσο φωτισμό στα αντικείμενα, αλλά βασιζόμενοι στο real time ray tracing που εξετάζουμε σε αυτό το άρθρο, αποτελεί μια περιορισμένη μέθοδο υπολογίζοντας σημαντικά λιγότερες ακτίνες.
Ένα πολύ καλό demo που δείχνει πώς το global illumination κάνει μια σκηνή πιο ρεαλιστική μπορείτε να δείτε σε αυτό το βίντεο.
Το ambient occlusion από την άλλη είναι το πόσο επηρεάζονται τα 3D αντικείμενα από τον φωτισμό του περιβάλλοντα χώρου, και απλά θέλαμε να το αναφέρουμε σε αυτό το άρθρο. Για παράδειγμα ένα δέντρο που φωτίζεται μόνο από τον ήλιο, έχει αρκετά σκοτεινά σημεία στην κάτω πλευρά του.
Θα λέγαμε ότι το ambient occlusion αναπαριστά καλύτερα την έκθεση (exposure) των αντικειμένων σε μια πηγή φωτός. Αυτό γίνεται με τον ίδιο τρόπο που υπολογίζεται το exposure από την κάμερα μας, για παράδειγμα.
Τόσο το global illumination όσο και το ambient occlusion αποτελούν δύο βασικά συστατικά που συναντάμε στα περισσότερα παιχνίδια σήμερα. Ένα σημαντικό στοιχείο του ray tracing είναι πως μπορεί να επιταχύνει και τις δύο διαδικασίες μέσω των αποκλειστικών μονάδων που έχουν οι σύγχρονες κάρτες γραφικών μας, αλλά μόνο εφόσον το υποστηρίζει και το παιχνίδι.
Τι είναι το ray tracing και πως λειτουργεί;
Το real time ray tracing στα βιντεοπαιχνίδια λειτουργεί ανιχνεύοντας τη διαδρομή των ακτίνων του φωτός από την οπτική που βλέπουμε το τρισδιάστατο περιβάλλον. Και αυτό γίνεται σε πραγματικό χρόνο, σε αντίθεση με το ray tracing που βλέπουμε, για παράδειγμα στις ταινίες, όπου χρησιμοποιούνται άλλα εργαλεία για την ακριβή αναπαράσταση του φωτός επάνω σε αντικείμενα.
Αξίζει να αναφέρουμε ότι το ray tracing δεν περιορίζεται μόνο στον φωτισμό, αλλά μπορεί να ανιχνεύσει τόσο σκιάσεις όσο και αντανακλάσεις, παρουσιάζοντας τα με όσο το δυνατόν πιο ρεαλιστικό τρόπο.
Επίσης θα είδατε ότι αναφερόμαστε στο ray tracing σαν ‘real time ray tracing’. Η διαφορά του ‘σκέτου’ ray tracing με το real time ray tracing είναι ότι στο δεύτερο, το hardware ενσωματώνει ειδικές μονάδες που επιταχύνουν τη διαδικασία και την πραγματοποιούν σε πραγματικό χρόνο. Η απλή μέθοδος χρησιμοποιείται για χρόνια στο 3D λογισμικό λειτουργεί πολύ πιο αργά, αφού χρησιμοποιεί είτε τα rasterization units είτε το CPU για για να συνθέσει ένα καρέ – μια διαδικασία που μπορεί να πάρει από αρκετά λεπτά, μέχρι και ώρες!
Πέρα από το ‘βασικό’ ray tracing, που υπολογίζεται από το σημείο που κοιτάζει η κάμερα στον 3D χώρο, υπάρχουν και τα light bounces, οι ‘αναπηδήσεις’ που πραγματοποιεί το φως όταν χτυπάει ένα αντικείμενο στον τρισδιάστατο χώρο.
Προκειμένου να προσομοιωθεί ρεαλιστικά η αλληλεπίδραση του φωτός με τις επιφάνειες και τα αντικείμενα στον κόσμο του παιχνιδιού, η κάρτα γραφικών χρησιμοποιεί ειδικές μονάδες επεξεργασίας που διευκολύνουν αυτούς τους υπολογισμούς.
Αυτές, λειτουργούν με διανύσματα και σχεδιαστικά είναι αρκετά διαφορετικές από τις μονάδες του rasterization. Τις τελευταίες, τις χρησιμοποιούν οι κάρτες μας για να δημιουργήσουν μια 3D σκηνή.
Το ray tracing μπαίνει παντού, απλά πολύ αργά
Πέρα από το τεχνικό κομμάτι, υπάρχει και άλλο ένα μεγάλο πρόβλημα. Τα game studios που αποφάσισαν να βάλουν το feature του ray tracing στα παιχνίδια τους δεν ήταν πολλά και αυτό σίγουρα οριοθέτησε την υιοθέτησή του τον πρώτο καιρό.
Η προώθηση ως κάτι που γίνεται σε ‘πραγματικό χρόνο’ είναι αυτή που εν τέλει ‘πούλησαν’ στους καταναλωτές οι εταιρίες.
Κάποιοι θα θυμούνται το Battlefield V – βασικά αρκετοί μιας και το 2042 έπεσε δραματικά στα μάτια των gamers.
Το Battlefield V ήταν από τα παιχνίδια-demo του ray tracing στο PC και όλοι αναφωνούσαμε για το πόσο καλό δείχνει, αλλά και το πόσο ‘ακριβό’ είναι εν τέλει να τρέξει με ψηλά καρέ αφού θέλαμε τουλάχιστον μια RTX 2080 για να πούμε ότι έχουμε αρκετά ψηλά FPS.
Οπότε σύντομα το meme RTX On vs RTX Off πήρε σάρκα και οστά, όμως ποτέ δεν ξεχάστηκε.
Το ray tracing έγινε mainstream με τις τεχνικές upscaling
Μετά την αποκάλυψη των πρώτων RTX GPU, η Nvidia ήθελε να φέρει το ray tracing σε περισσότερα συστήματα και γι’ αυτόν τον λόγο κυκλοφόρησε την RTX 2060 στις αρχές του 2019, μερικούς μήνες μετά την κυκλοφορία των ‘μεγάλων’ RTX 2070 και RTX 2080.
Οι επιδόσεις της συγκεκριμένης στο ray tracing ήταν και εκεί μέτριες, δείχνοντας έτσι ότι το RTX πρέπει να περιμένει λίγο καιρό ακόμα πριν γίνει πραγματικά mainstream.
Η είσοδος τεχνολογιών όπως το Deep Learning super sampling (DLSS) και το FidelityFX Super Resolution (FSR) από την Nvidia και την AMD αντίστοιχα ήταν που έδωσαν στο ray tracing μια ακόμα ευκαιρία να μπει και στα midrange σαλόνια, κάνοντάς το πιο βιώσιμο ακόμα και για πιο αδύναμο hardware.
Εν ολίγοις, αυτές οι τεχνικές λειτουργούν αρκετά απλά, όμως η πρόταση της Nvidia χρησιμοποιούσε AI για να ανακατασκευάσει την εικόνα στην τελική και υψηλότερη ανάλυση.
Με λίγα λόγια, οι μέθοδοι αυτοί τρέχουν το παιχνίδι σε χαμηλότερη ανάλυση, περνούν τα απαραίτητα effects όπως ambient occlusion και anisotropic filtering και έπειτα, ορισμένοι πολυσύνθετοι αλγόριθμοι επαναφέρουν το output στην αρχική ανάλυση που του έχουμε θέσει από τις ρυθμίσεις. Κάποιοι αλγόριθμοι βέβαια χρησιμοποιούν διαφορετική σειρά στις παραπάνω διεργασίες.
Αν και το FSR της AMD λειτουργεί ελαφρώς διαφορετικά, η πρόταση της Nvidia ήταν και αυτή που μέχρι και το 2022 ήταν ταχύτερη και έδειχνε το καλύτερο δυνατό αποτέλεσμα.
Όταν δοκιμάσαμε το Deathloop με το FSR 2, μας έδειξε ότι η ποιότητα της τεχνικής είναι σημαντικά βελτιωμένη, ενώ παράλληλα κερδίζουμε κάποια FPS από την όλη διαδικασία.
Για περίπου δύο χρόνια, η AMD δεν είχε κάποια τεχνική εφάμιλλη με το DLSS και αυτός ήταν ένας ακόμα σημαντικός παράγοντας που καθυστέρησε την ενσωμάτωση του ray tracing σε περισσότερα games και φυσικά, στις κονσόλες.
Το πεδίο έγινε πολύ πιο ενδιαφέρον με με την είσοδο του στα τέλη του 2020, που ακούγανε στο όνομα Radeon RX 6000, οι οποίες μοιράζονται την ίδια RDNA 2 αρχιτεκτονική που συναντάμε και στις τωρινές κονσόλες PlayStation 5 και Xbox Series X/S.
Τότε, τα πράγματα μπήκαν πραγματικά σε mainstream τροχιά και έτσι το ray tracing μπήκε στα προϊόντα και των δύο εταιριών, αλλά το σημαντικότερο, στις κονσόλες, όπου η AMD είχε ήδη φροντίσει τοποθετώντας ένα ικανό chip με την ίδια RDNA 2 αρχιτεκτονική των PC καρτών γραφικών της.
Η δεύτερη γενιά του ray tracing από την Nvidia: Το RTX στα ψιλά γράμματα
Και πάλι όμως οι επιδόσεις ήταν περιορισμένες, σχεδόν απογοητευτικές σε πολλές περιπτώσεις, παρόλο που το rendering έγινε πιο έξυπνο με την είσοδο τεχνικών όπως το DLSS/FSR – και τα δύο αναβαθμίστηκαν σημαντικά την περίοδο 2020-2021 και έβαλαν στόχο να κάνουν το gaming σε υψηλές ρυθμίσεις πιο προσιτό σε περισσότερα συστήματα.
Εκεί κέρδισε η AMD, αφού το FSR ‘αγαπήθηκε’ από πολλά game studios, ενώ η AMD δεν περιόρισε το πρότυπο όπως έκανε η Nvidia, προσφέροντάς το μέχρι και στις RX 5000 από το μακρινό πλέον 2018.
Οι Radeon RX 7000 απαντούν στην τρίτη γενιά ray tracing της Nvidia
Το 2022 τελειώνει με τις δύο μεγάλες εταιρίες στον χώρο των καρτών γραφικών, AMD – Nvidia, να έχουν δύο σημαντικές προσθήκες στη φαρέτρα τους. Οι σειρές Radeon RX 7000 και Nvidia GeForce RTX 40 αυξάνουν πολύ τον πήχη των επιδόσεων, τόσο στο κομμάτι του rasterization (το κλασικό 3D), όσο και στο ray tracing.
Η AMD μάλιστα ακολουθεί την Nvidia και προσθέτει στο εσωτερικό των RX 7000 και ειδικούς AI πυρήνες, τους οποίους θα μπορούμε να αξιοποιήσουμε, ενδεχομένως με κάποια μελλοντική αναβάθμιση του FSR για ακόμα μεγαλύτερη αύξηση των επιδόσεων με ενεργό ray tracing.
Συν ότι για πρώτη φορά η AMD μιλά για hardware-based πυρήνες ray tracing και όχι μια software μέθοδο που σέρνει τις κάρτες σε έναν ‘βούρκο’ χαμηλών FPS.
Στο timeline αυτού του άρθρου, πρέπει να συμπεριλάβουμε και το Cyberpunk 2077. Το παιχνίδι που κυκλοφόρησε σε πολύ κακογραμμένη κατάσταση, έφερε και αυτό μερικά ray tracing στοιχεία, ενώ τα updates του που κυκλοφόρησαν δύο ολόκληρα χρόνια μετά το λανσάρισμα του τίτλου, έδωσαν νέα πνοή στο game βελτιώνοντας την κατάσταση.
Το Cyberpunk 2077 ήταν και είναι μαγευτικό όσον αφορά το ray tracing, και στα νεότερα updates προστέθηκαν μερικές ακόμα ρυθμίσεις αλλά και DLSS και FSR 2 που έκαναν κάρτες γραφικών όπως την RTX 4090 να δείξει τρομακτικά υψηλά νούμερα σε 4K με το ray tracing ανοικτό.
Το ενδιαφέρον στρέφεται και στα Nvidia DLSS 3 και AMD FSR 2.2
Οπτικά όμως και με το κατάλληλο παιχνίδι να τρέχει, το ray tracing έχει να δώσει πολλά. Τόσο οι σκιάσεις όσο και οι αντανακλάσεις γίνονται πιο αληθοφανείς, όπως συνέβη και τότε, απλώς κρίθηκε πολύ για τις επιδόσεις που έκοβε από τις κάρτες.
Το ίδιο συνεχίζεται και σήμερα, όμως αυτές οι τεχνικές πέραν του ότι έχουν γίνει ελαφρώς πιο αποδοτικές, συνοδεύονται με τεχνικές όπως το FSR και το VSR που αναφέραμε παραπάνω.
Το DLSS 3 αναφέρεται ως ‘το επόμενο μεγάλο βήμα στα νευρωνικά γραφικά’ που με απλά λόγια, σημαίνει ότι η ‘κατασκευή’ του κάθε καρέ είναι απλά ταχύτερη από την προηγούμενη έκδοση (DLSS 2).
Η τρίτη έκδοση περιλαμβάνει μερικά έξτρα βοηθήματα που ανακατασκευάζουν σχεδόν χωρίς απώλειες ένα νέο καρέ με τη χρήση AI. “Ο Optical Flow Accelerator είναι σε θέση να συλλάβει πληροφορίες σε επίπεδο pixel, όπως particles, αντανακλάσεις, σκιές και φωτισμό, οι οποίες δεν περιλαμβάνονται στους υπολογισμούς motion vector της μηχανής γραφικών”, αναφέρει χαρακτηριστικά η Nvidia.
Φαινομενικά, η πρόταση της Nvidia παραμένει πιο εκλεπτυσμένη από αυτή της AMD, ακόμα και με το FSR 2.2 που ανακοινώθηκε στις 8 Δεκεμβρίου.
Το F1 22 για παράδειγμα, που ήρθε το καλοκαίρι από την EA Games και λέει ότι για ακόμα μια χρονιά θα έχει ray tracing, ένα trend που ξεκίνησε το περσινό F1 2021. Τόσο εκείνο όσο και το F1 22 απαιτούν βέβαια μια ισχυρή GPU για ray tracing, ενώ το παιχνίδι περιλαμβάνει ray tracing σε σκιές, φωτισμό και στις αντανακλάσεις – το ίδιο και το Cyberpunk 2077.
Το ray tracing είναι complimentary χαρακτηριστικό και όχι βασικό στοιχείο του gaming
Πλέον οι τιμές των καρτών γραφικών πλησιάζουν σε πιο χαμηλά επίπεδα, ωστόσο η μικρή διαθεσιμότητα εξακολουθεί και είναι πρόβλημα για όσους θέλουν να αναβαθμίσουν την κάρτα τους.
Παρά το γεγονός ότι το cryptomining έχει τελειώσει για πολλούς με την αλλαγή του Ethereum στο μοντέλο proof-of-stake, υπάρχουν δεκάδες εναλλακτικά κρυπτονομίσματα για όσους θέλουν να συνεχίσουν το mining με τις υπάρχουσες κάρτες γραφικών τους.
Όμως οι υψηλές τιμές του ρεύματος κάνουν την κατάσταση ακόμα πιο δύσκολη.
Το γκρίζο πολιτικό τοπίο και οι αυξήσεις στις τιμές του ρεύματος αποτελούν εξίσου σημαντικές προκλήσεις για τους κατασκευαστές, και παρόλο που η Nvidia παραδέχτηκε εμμέσως ότι οι τιμές των RTX 40 είναι ‘φουσκωμένες’, βλέπουμε ότι οι high end κάρτες γραφικών ξεφεύγουν, γενικότερα.
Επιστρέφοντας στα του ray tracing, πολλά είναι τα παιχνίδια που το υποστηρίζουν.
Δεδομένου όμως του ότι είναι μια πολύ βαριά διαδικασία, δεν είναι πολλοί αυτοί που εν τέλει επιλέγουν να το ενεργοποιήσουν στα παιχνίδια τους, αφού πολλές φορές η διαφορά στο τελικό αποτέλεσμα είναι αμελητέα. Όσο περνάνε τα χρόνια, γίνεται πιο προφανές ότι το ray tracing θα γίνει αναπόσπαστο κομμάτι του gaming και περισσότερο εμφανές στον φωτισμό και τις αντανακλάσεις.
Τώρα που οι πιο πολλές GPU μπορούν να σηκώσουν πιο εύκολα περιεχόμενο με ray tracing, οι gamers έχουν τη δυνατότητα να ενεργοποιήσουν τις επιλογές αυτές στα μενού των παιχνιδιών τους.
Μερικά από τα παιχνίδια που υποστηρίζονται αυτήν τη στιγμή είναι τα Minecraft, Battlefield V, Metro Exodus, Shadow of the Tomb Raider, Control, Call of Duty: Modern Warfare, Wolfenstein: Youngblood, Watch Dogs Legion, Cyberpunk 2077 και Death Stranding, μεταξύ πολλών ακόμα.
Επί της ουσίας, το ray tracing ήρθε μεν νωρίς το 2018, αλλά αναμένεται πιο δημοφιλές στο μέλλον, όταν οι developers θα μας δώσουν περισσότερα games που κάνουν χρήση της τεχνολογίας.
Το γεγονός ότι γίνεται πιο ‘προσιτό’, ιδίως για κατόχους midrange hardware είναι και αυτό ένα στοιχείο που επιβεβαιώνει το παραπάνω. Καθώς η τεχνολογία συνεχίζει να βελτιώνεται, είναι πιθανό το ray tracing να αποτελέσει πιο σημαντικό κομμάτι του gaming σε κονσόλες και PC, από το 2023 και μετά.