Κατά την διάρκεια της Game Developer Conference η Microsoft και η Nvidia ανακοίνωσαν μια σημαντική συνεργασία μεταξύ των δύο. Η συνεργασία αυτή έχει να κάνει με την ενίσχυση μελετών και δοκιμών πάνω στην νέα τεχνολογία του Real-time Raytracing στα PC games. Πιο συγκεκριμένα, οι δύο εταιρείας εργάζονται μαζί για να δημιουργήσουν ένα βιομηχανικό API που θα επικεντρώνει σε διαδραστικό Raytracing πραγματικού χρόνου. Η Microsoft θα εισάγει το DXR (DirectX Raytracing) στο DX12, και η Nvidia χτίζει το RTX, ένα σύνολο αλγορίθμων για λογισμικό και υλικό που έχει ως σκοπό την επιτάχυνση του Raytracing στην αρχιτεκτονική Nvidia Volta.

O όρος Raytracing δεν είναι κάτι που ακούμε καθημερινά και σίγουρα υπάρχουν απορίες για το τι είναι, σε τι αποσκοπεί και σε τι μας χρησιμεύει. Στον χώρο των ψηφιακών γραφικών, το “Raytracing” (ανίχνευση ακτίνων) είναι μια τεχνική απόδοσης που χρησιμεύει στην δημιουργία εικόνων μέσω της ανίχνευσης της διαδρομής του φωτός (που αποδίδεται σε μορφή pixels) και την προσομοίωση των αποτελεσμάτων των συναντήσεων της με εικονικά αντικείμενα. Η τεχνική μπορεί να παράγει οπτικά αποτελέσματα πολύ υψηλής ποιότητας, συνήθως πιο υψηλής από αυτά των τυπικών rendering μεθόδων, με μεγαλύτερο υπολογιστικό κόστος. Αυτό κάνει την εν λόγω τεχνολογία κατάλληλη για εφαρμογές που η εικόνα μπορεί να παραχθεί αργά, όπως σε ακίνητες εικόνες και τηλεοπτικά οπτικά εφέ, και λιγότερο κατάλληλη για εφαρμογές πραγματικού χρόνου όπως βιντεοπαιχνίδια όπου η ταχύτητα είναι μεγάλης σημασίας. (εικόνες του αλγορίθμου από Wiki).

O Tony Tomasi της nVIDIA είπε τα εξής για την συνεργασία και την νέα τεχνολογία:

Είναι κάτι που εμείς στην βιομηχανία των γραφικών ονειρευόμασταν εδώ και δύο δεκαετίες. Πρακτικά θα κάνουμε τα πρώτα μεγάλα βήματα για ray-tracing σε πραγματικό χρόνο σε παιχνίδια.

Ο συνδυασμός του RTX και του DXR θα έπρεπε να επιτρέπει στους σχεδιαστές να κάνουν μεγάλα άλματα όσον αφορά το raytracing σε πραγματικό χρόνο και να ξεκινήσουν οι σχεδιαστές να εργάζονται πάνω στο μέλλον των γραφικών. Πιστεύω πως θα δείτε παιχνίδια να κυκλοφορούν με την πρώτη έκδοση του real-time raytracing βασισμένη πάνω στα DXR και RTX.

Το Raytracing, σύμφωνα με την Microsoft, είναι μια τεχνολογία που παρομοιάζεται με τα σημερινά τρισδιάστατα γραφικά χτισμένα πάνω σε ψέματα. Η τεχνική που χρησιμοποιείται σήμερα για την απόδοση των τρισδιάστατων γραφικών σε επίπεδες οθόνες ονομάζεται “ραστεροποίηση” και είναι η διαδικασία μετατροπής δεδομένων, κορυφών και pixel σε τμήματα, καθένα από τα οποία αντιστοιχεί σε ένα pixel στο Frame Buffer. Ωστόσο, έχουμε φτάσει στο σημείο όπου βλέπουμε περισσότερα στρώματα ρεαλισμού που βασίζονται πάνω στον φωτισμό, και δεν είναι συμβατά με τον τρόπο που δουλεύει η ραστεροποίηση.

Αυτό που προσφέρει η Raytracing τεχνολογία είναι ρεαλισμός. Αυτό που γίνεται είναι να μοντελοποιούνται οι ακτίνες του φωτός ώστε να αναπηδούν μέσα σε μια σκηνή, και τα οπτικά εφέ όπως σκιές, αντανακλάσεις, περιβαλλοντικός φωτισμός, όλα δημιουργούνται ως υποπροιόντα του raytracing.

Ο Tomasi προσθέτει:

Μπορείτε να επιτύχετε απίστευτα επίπεδα πιστότητας. Μπορείτε να προσομοιώσετε τον έμμεσο φωτισμό, το φως αναπήδησης, μπορείτε να κάνετε διάθλαση, οι σκιές να γίνονται σωστά. Ουσιαστικά όλες οι φυσικές συμπεριφορές φωτός διαμορφώνονται.

Το μειονέκτημα αυτού του είδους απόδοσης είναι ότι δεν ήταν δυνατό να γίνει σε πραγματικό χρόνο, τουλάχιστον όχι πρακτικά.

Και ενώ το DXR της Microsoft είναι ικανό να τρέξει σε όλες τις κάρτες γραφικών που υποστηρίζουν DirectX 12, το RTX της Nvidia εφαρμόζεται στις Volta GPUs.

To DXR, το raytracing API της Microsoft είναι χτισμένο πάνω στο DirectX… και πιστεύω πως οι GPUs που υποστηρίζουν DX12 θα μπορούν να στηρίξουν και το DXR.

Από την άλλη μεριά, η AMD θέλει και αυτή να συμβάλλει στο μέλλον του DirectX Raytracing:

Η AMD συνεργάζεται με την Microsoft για να καθορίσει, να βελτιώσει και να υποστηρίξει το μέλλον του DirectX12 και του raytracing. Η AMD παραμένει στο προσκήνιο του νέου μοντέλου προγραμματισμού και του ανανεώσιμου API που βασίζεται στο επίπεδο συστήματος του προγραμματισμού γραφικών. Ανυπομονούμε να συζητήσουμε με τους προγραμματιστές παιχνιδιών τις ιδέες τους και τα σχόλιά τους σχετικά με τις τεχνικές ανίχνευσης ακτίνων για την ποιότητα της εικόνας, τα αποτελέσματα και την απόδοση τους.

Το RTX όμως, είναι χαρακτηριστικό των Volta GPU οπότε αν θέλουμε να απολαύσουμε τα χαρακτηριστικά της νέας τεχνολογίας θα πρέπει να επενδύσουμε σε μια Titan V κάρτα. Σύμφωνα με τον Tomasi, τα Tensor Cores των Volta Chips βοηθούν στην επιτάχυνση του Raytracing:

Ο τρόπος λειτουργίας της τεχνικής είναι η εκτόξευση ακτινών μέσα σε μια σκηνή και αν δείτε ένα καρέ τυπική HD ανάλυσης υπάρχουν περίπου δύο εκατομμύρια pixels μέσα σε αυτή, και ένα παιχνίδι τυπικά θέλει να τρέξει σε 60 καρέ ανά δευτερόλεπτο, και τυπικά χρειάζονται πολλαπλές, και πολλές ακτίνες ανά pixel. Οπότε μιλάμε για ανάγκες εκατοντάδων εκατομμυρίων, δισεκατομμυρίων ακτίνων ανά δευτερόλεπτο ώστε να μπορούμε να πάρουμε ακόμα περισσότερες ακτίνες φωτός.

Οι ταινίες, για παράδειγμα, χρησιμοποιούν εκατοντάδες, ή και χιλιάδες, ακτίνες ανά κουκκίδα. Η δοκιμασία σε αυτό, και συγκεκριμένα για τα παιχνίδια αλλά ακόμα και για την offline απόδοση, είναι πως όσο περισσότερες ακτίνες ρίξουμε, χρειάζεται περισσότερος χρόνος με αποτέλεσμα να γίνεται πιο ακριβό στους υπολογισμούς.

Τα νέα Tensor Cores μπορούν να χρησιμοποιηθούν ώστε να λύσουν το παραπάνω πρόβλημα με μια ξεχωριστή μέθοδο γνωστή ως “de-noising”:

Ονομάζεται επίσης ανοικοδόμηση. Αυτό που γίνεται είναι να χρησιμοποιούνται λιγότερες ακτίνες, και πολύ έξυπνα φίλτρα ή επεξεργασία, για να ανασυνθέσει η τελική εικόνα ή τα pixels. Οι Tensor Cores χρησιμοποιήθηκαν για να δημιουργήσουν, αυτό που αποκαλούμε, έναν AI de-noiser.

Χρησιμοποιώντας τεχνητή νοημοσύνη μπορούμε να εκπαιδεύσουμε ένα νευρωνικό δίκτυο ώστε να ανοικοδομήσει μια εικόνα χρησιμοποιώντας λιγότερα δείγματα, οπότε στην ουσία τα Tensor Cores μπορούν να χρησιμοποιηθούν για να οδηγήσουν το AI Denoiser και να παράγει μια εικόνα υψηλής ποιότητας χρησιμοποιώντας λιγότερα δείγματα. Και αυτό είναι ένα από τα κυριότερα χαρακτηριστικά που βοηθάει στην απελευθέρωση των δυνατοτήτων του real-time raytacing.”

Ήδη μεγάλες εταιρείες μηχανών γραφικών όπως η Epic Games αρχίζουν να παρουσιάζουν παιχνίδια και σκηνές που χρησιμοποιούν την τεχνική. Η Epic δημοσίευσε ένα νέο Star Wars βίντεο που μας δείχνει τις δυνατότητες του Raytracing και ακούγεται πως το επερχόμενο παιχνίδι της σειράς Metro θα είναι το πρώτο που θα την υιοθετήσει.

Καλύτερα θα ήταν όμως να “κρατήσουμε μικρό καλάθι” μιας και το Raytracing δεν πρόκειται να αντικαταστήσει την ραστεροποίηση μέσα σε μια νύχτα. Η πλήρης αξιοποίηση της τεχνικής δεν είναι δυνατή με το υλικό που έχουμε αυτή την στιγμή, οπότε η χρήση της θα είναι εμφανής μόνο σε συγκεκριμένα στοιχεία διαφόρων μελλοντικών τίτλων.

Και με τα DXR και RTX να δουλεύουν στις Unreal, Unity, και Frostbite υπάρχει ήδη ένας μεγάλος αριθμός σχεδιαστών και ομάδων που μπορούν να χρησιμοποιούν την τεχνική στα επόμενα παιχνίδια τους.