Rust GPU, ένα σύνολο εργαλείων για την ανάπτυξη shaders στο Rust

Η εταιρεία ανάπτυξης παιχνιδιών Το Embark Studios κυκλοφόρησε την πρώτη πειραματική κυκλοφορία του σχεδίου GPU σκουριάς, που στοχεύει στη χρήση της γλώσσας Rust για την ανάπτυξη κώδικα GPU. 

Η επιθυμία για χρήση του Rust για να γράψετε προγράμματα για GPU προέρχεται όχι μόνο από τα χαρακτηριστικά ασφαλείας και την υψηλή απόδοση, αλλά και της ανάγκης απόκτησης σύγχρονων εργαλείων για εργασία με πακέτα και ενότητες για τη βελτίωση της αποτελεσματικότητας της διαδικασίας ανάπτυξης.

Rust GPU εταιρεία ανάπτυξης Embark Studios χρησιμοποιεί επίσης το Rust στη μηχανή παιχνιδιών του και εργάζεται για να διευκολύνει την ανταλλαγή κώδικα Rust μεταξύ της CPU και της GPU.

Σύμφωνα με αυτούς, ιστορικά, στα παιχνίδια, ο προγραμματισμός GPU έχει γίνει γράφοντας HLSL ή, σε μικρότερο βαθμό, GLSL. Αυτές είναι απλές γλώσσες προγραμματισμού που έχουν εξελιχθεί παράλληλα με την απόδοση API με την πάροδο των ετών.

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

Ενώ υπάρχουν γενικά καλύτερες εναλλακτικές λύσεις και για τις δύο γλώσσες, καμία δεν είναι σε θέση να αντικαταστήσει το HLSL ή το GLSL.

Είτε επειδή αποκλείονται από τον πάροχο είτε επειδή δεν υποστηρίζονται με τον παραδοσιακό αγωγό γραφικών. Παραδείγματα αυτού περιλαμβάνουν τα CUDA και OpenCL. Και ενώ έχουν γίνει προσπάθειες να δημιουργηθεί γλώσσα σε αυτόν τον χώρο, καμία από αυτές δεν έχει αποκτήσει αξιοσημείωτη έλξη στην κοινότητα του gamedev.

Η Rust GPU συνεχίζει να αναπτύσσει ιδέες από το έργο RLSL, στην οποία έγινε μια προσπάθεια να δημιουργηθεί ένας Rile compiler στο SPIR-V γενικό shader ενδιάμεσο, το οποίο προτείνεται στο Vulkan API και υποστηρίζεται στο OpenGL 4.6.

Στο τρέχον στάδιο ανάπτυξης, η Rust GPU σάς επιτρέπει ήδη να εκτελείτε απλές γραφικές σκιάσεις και να συντάσσετε ένα σημαντικό μέρος της βασικής τυπικής βιβλιοθήκης του Rust. Ταυτόχρονα, το έργο δεν είναι ακόμη έτοιμο για ευρεία χρήση, για παράδειγμα οι βρόχοι δεν υποστηρίζονται ακόμη από shaders.

Στο Embark, κατασκευάζουμε τη δική μας μηχανή παιχνιδιών από το μηδέν στο Rust. Έχουμε προηγούμενη εμπειρία στην εσωτερική ανάπτυξη του πρωτοτύπου RLSL και έχουμε μια ομάδα εξαιρετικών μηχανικών απόδοσης που είναι εξοικειωμένοι με τα προβλήματα των σημερινών shader γλωσσών, τόσο από παιχνίδια, μηχανές παιχνιδιών και άλλους κλάδους. Επομένως, πιστεύουμε ότι είμαστε σε μια μοναδική θέση για να προσπαθήσουμε να λύσουμε αυτό το πρόβλημα.

Θέλουμε να εξορθολογίσουμε τη δική μας εσωτερική ανάπτυξη με μια μοναδική γλώσσα, να δημιουργήσουμε μια κοινότητα γραφικών ανοιχτού κώδικα και ένα οικοσύστημα, να διευκολύνουμε την κοινή χρήση κώδικα μεταξύ GPU και CPU και, το πιο σημαντικό, να επιτρέψουμε στους (μελλοντικούς) χρήστες και τους συνεργάτες μας δημιουργήστε πιο γρήγορα ελκυστικές και ελκυστικές εμπειρίες

Με βάση τον κωδικό στη γλώσσα Rust, σχηματίζεται μια αναπαράσταση των SPAD-V shaders, για την παραγωγή του οποίου έχει αναπτυχθεί ένα ειδικό backend για τον μεταγλωττιστή Rust, το οποίο λειτουργεί κατ 'αναλογία με τη γεννήτρια κώδικα cranelift που χρησιμοποιήθηκε για να μεταγλωττιστεί σε μια αναπαράσταση. Συνέλευση Web.

Η τρέχουσα προσέγγιση είναι η υποστήριξη των γραφικών API Vulkan και των προβολών SPIR-V, αλλά οι γεννήτριες έχουν προγραμματιστεί για το μέλλον των προβολών shader DXIL (DirectX) και WGSL (WebGPU). Με βάση το Cargo και το crates.io, αναπτύσσονται εργαλεία για την ανάπτυξη και δημοσίευση πακέτων με shaders σε μορφή SPIR-V.

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

Όσο για όσους ενδιαφέρονται να γνωρίζουν τον κωδικό, πρέπει να γνωρίζουν ότι ο κώδικας δημοσιεύεται με τις άδειες MIT και Apache 2.0 και είναι δυνατόν να τον αποκτήσετε από τον παρακάτω σύνδεσμο.

Και μπορούν επίσης να συμβουλευτούν την τεκμηρίωση, η οποία είναι ήδη προετοιμασμένη για προγραμματιστές, ώστε να μπορούν να εργαστούν σε Linux, Windows και Mac. συμβουλευτείτε τον οδηγό σε αυτόν τον σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: Miguel Ángel Gatón
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.

  1.   Αυτόματος πιλότος dijo

    Η Rust απογειώνεται, ελπίζω ότι δεν θα είναι άλλη μια "θανατηφόρα Σκάλα".