RayCore: η πρώτη hardware λύση δημιουργίας ray traced γραφικών

Το ray tracing είναι μια πάρα πολύ απαιτητική σε επεξεργαστική ισχύ διαδικασία που παράγει φωτορεαλιστικά γραφικά. Μέχρι σήμερα προνόμιο του κινηματογράφου, έρχεται σε PCs και… smartphones!

Ναι, έχουμε εντυπωσιακά 3D γραφικά στους υπολογιστές και τις κονσόλες μας, αλλά όπως μάλλον έχετε προσέξει, δεν πλησιάζουν αρκετά σε ρεαλισμό τα 3D γραφικά που βλέπουμε στον κινηματογράφο. Ακόμη και το… αρχαίο, από άποψη τεχνολογίας, κινηματογραφικό Terminator 2, παρουσιάζει πολύ πιο εντυπωσιακά γραφικά από αυτά που βλέπουμε στους υπολογιστές και τις κονσόλες μας σε “real time”, καθώς, δηλαδή, παίζουμε παίζουμε παιχνίδια. Ένας από τους λόγους είναι η διαφορά στον τρόπο με τον οποίου δημιουργούνται τα γραφικά για τον κινηματογράφο, μέσω ray tracing.

Το ray tracing είναι μια διαδικασία κατά την οποία ο υπολογιστής, βάσει ενός συνόλου κανόνων… Φυσικής, Χημείας και Μαθηματικών, υπολογίζει το πώς “κινούνται” οι ακτίνες φωτός σε ένα χώρο, πώς ανακλώνται από αντικείμενα, πώς τα επηρεάζουν ανάλογα με την υφή και το χρώμα τους, πώς οι ίδιες αλλάζουν, διασπώνται και διαθλώνται κατά αυτή την κίνηση τους. Και φαντασθείτε πως αυτή είναι μια… απλοϊκή περιγραφή του.

Οι μαθηματικές πράξεις που απαιτούνται για το ray tracing συνήθως ταιριάζουν περισσότερο σε “τυπικούς” επεξεργαστές και όχι “GPUs” – φαντασθείτε τα αποτελέσματα των επεξεργαστών σαν… “gourmet” γραφικά, ενώ αυτά που παράγουν οι κάρτες γραφικών ως “fast food”. Και τα δυο έχουν τη θέση τους στον κόσμο, ανάλογα με τις ανάγκες του: αν κανείς θέλει γρήγορο υπολογισμό και παρουσίαση των γραφικών, μια κάρτα γραφικών είναι ό,τι πρέπει. Αν δεν τον πειράζει να επενδύσει (πολύ-πολύ) περισσότερο χρόνο για την προετοιμασία των γραφικών και τη σωστή εμφάνιση τους, όπως και σε ένα… gourmet πιάτο, θα πρέπει να καταφύγει σε τυπικούς επεξεργαστές και στη μέθοδο του ray tracing.

Το RayCore είναι η πρώτη hardware λύση του είδους που ξεπερνά τους περιορισμούς των παραδοσιακών software μεθόδων ray tracing, παρέχοντας την απαραίτητη υποδομή για την παρουσίαση παραπλήσιων αποτελεσμάτων 3D γραφικών σε πραγματικό χρόνο.

Όπως είπε ο CEO της Siliconarts, Hyung Min Yoon:

Quote:

Το βασικό χαρακτηριστικό αυτού του προϊόντος είναι πως το ray tracing, που μέχρι σήμερα θεωρούταν αδύνατο να υλοποιηθεί σε επίπεδο hardware, είναι τώρα διαθέσιμο όχι μόνο σε PCs και servers, αλλά και σε ένα εκτενές εύρος συσκευών όπως smartphones και smart TVs. Καμία από τις κυρίαρχες εταιρείες παραγωγής GPUs δεν κατάφερε να ενσωματώσει επιτυχώς λειτουργίες ray tracing σε πραγματικό χρόνο, και το τεχνολογικό τους επίπεδο είναι ακόμη περιορισμένο.

Ody's thoughts

Το μοναδικό σημείο στο οποίο κάπου “κολλάω” προσωπικά με την ανακοίνωση είναι το εξής: φαντασθείτε τη διαδικασία του ray tracing σαν ένα… Datsun με καρπούζια. Όσο πιο πολύ “φορτώσεις” μια 3D σκηνή με λεπτομέρειες και αντικείμενα, τόσο περισσότερο είναι σαν να… φορτώνεις το Datsun με καρπούζια. Όσο μεγαλύτερο το “φορτίο”, τόσο μικρότερες οι “επιδόσεις”. Όταν το ray tracing γίνεται σε επίπεδο software, αυτό σημαίνει πως μπορεί π.χ. ένα καρέ να χρειάζεται ένα λεπτό για να “υπολογιστεί”, το επόμενο δυο λεπτά, το μεθεπόμενο τέσσερα, φτάνοντας ακόμη και σε… ώρες επί ωρών. Πάντα για ένα καρέ. Το να λες πως “έχουμε hardware προϊόν που παράγει rendering σε πραγματικό χρόνο” δεν ακούγεται και τόσο περίεργο. Θεωρητικά, θα μπορούσε κανείς να γράψει λογισμικό για τους σημερινούς επεξεργαστές της Intel που να κάνουν real time ray tracing κάποιες (ομολογουμένως απλές) σκηνές 3D γραφικών. Το RayCore μέχρι τι “φόρτο σηκώνει”; Που “τελειώνει” το “real time” και αρχίζει η… αναμονή;

Source:

Siliconarts Inc., a Korean tech startup, developed RayCore, the real-time ray tracing graphics processor (GPU) for the first time in graphics hardware history. RayCore is the next-generation GPU that is used in rendering high-quality 3D graphics whose graphics performance surpasses that of rasterization GPU approach.

...γνωστός και ως Οδυσσέας Κουράφαλος, αρχικός υπεύθυνος για το unregistered. Συντάκτης, γραφίστας, "μαλτιμηντιάς", φανατικός της science fiction και των αστείων γατιών στου ιντερνέτ. "Δηλώνω graphics whore" (παίζω Ms. Pac-Man στο MAME με 2xSAL και το πρώτο Max Payne με FXAA antialiasing). Load "unreg*",8,1.
  • Αν το όλο (δύσκολο) εγχείρημα πετύχει, δε θα περάσει πολύς καιρός από την στιγμή που η τεχνολογία θα ενσωματωθεί στις κάρτες γραφικών. Όπως περίπου είχε γίνει με το PhysX της Ageia. Βλέπω πάντως να πηγαίνουμε σε unlimited detail τεχνικές (όπως το γνωστό βιντεάκι που κυκλοφόρησε στο παρελθόν), αλλά αυτό θα γίνει μετά από αρκετά χρόνια. Είμαστε ήδη στα 28nm και δε βλέπω με τα σημερινά δεδομένα να μπορούν να κάνουν κάτι εξωπραγματικό. Ίσως αν γίνουν mainstream οι πολυπύρηνες κάρτες γραφικών, κάτι να γίνει. Εκεί όμως χρειάζεσαι και διαφορετική λογική στο data computation. Δεν είμαι expert στα τεχνικά μέρη των GPUs, οπότε οι σκέψεις μου σίγουρα έχουν κενά και λάθη.

  • ducklord

     Από όσο γνωρίζω, ο λόγος που οι CPUs είναι καλύτερες στο ray tracing από τις “παραδοσιακές” GPUs (εννοώ “όχι-τη-λύση-της-Siliconarts”) αφορά στο ότι η διαδικασία υπολογίζεται καλύτερα “γραμμικά” ενώ οι GPUs ειδικεύονται σε “παράλληλη επεξεργασία”. Το πιθανότερο είναι πως κάποια στιγμή θα δούμε κάτι που ήδη γίνεται μέσω software στους σημερινούς, πολυπύρηνους επεξεργαστές, να “σπάει” το ray tracing σε υπο-γραμμές υπολογισμών και να μοιράζονται στις “ειδικεύομαι-στην-παράλληλη-επεξεργασία” GPUs της τότε εποχής. Το πρόβλημα είναι πως οι GPUs θα πρέπει να αλλάξουν αρχιτεκτονικά για να εκτελούν πράξεις με-τρόπο-παραπλήσιο-των-επεξεργαστών. Οπότε, μιλάμε για την εποχή που μια GPU θα μπορεί να έχει επάνω της χίλους μικρούς… Core i7. Λες να ζήσουμε να το δούμε; :-D