Rust GPU, סט כלים לפיתוח הצללים ברוסט

חברת פיתוח המשחקים אולפני Embark פרסמו את המהדורה הניסיונית הראשונה של הפרויקט חלודה GPU, שמטרתה להשתמש בשפת החלודה לפיתוח קוד GPU. 

הרצון להשתמש בחלודה לכתוב תוכניות עבור GPU נובע לא רק מתכונות הבטיחות והביצועים הגבוהים, אלא גם של הצורך להשיג כלים מודרניים לעבודה עם חבילות ומודולים לשיפור יעילות תהליך הפיתוח.

חברת פיתוח ה- Rust של חברת Embark Studios משתמשת גם בחלודה במנוע המשחק שלה והיא פועלת להקל על החלפת קוד חלודה בין המעבד ל- GPU.

לפיהם, מבחינה היסטורית, במשחקים, תכנות GPU נעשה על ידי כתיבת HLSL או, במידה פחותה, GLSL. אלו שפות תכנות פשוטות שהתפתחו לצד ממשקי API לעיבוד לאורך השנים.

עם זאת, ככל שמנועי המשחק התפתחו, שפות אלה לא סיפקו מנגנונים להתמודדות עם בסיסי קוד גדולים ובאופן כללי הם פיגרו בהשוואה לשפות תכנות אחרות.

אמנם יש בדרך כלל חלופות טובות יותר לשתי השפות, אך אף אחת מהן אינה יכולה להחליף את HLSL או GLSL.

לא בגלל שהם חסומים על ידי הספק או בגלל שהם לא נתמכים עם צינור הגרפיקה המסורתי. דוגמאות לכך כוללות CUDA ו- OpenCL. ובעוד נעשו ניסיונות ליצור שפה במרחב זה, אף אחד מהם לא זכה למשיכה ניכרת בקהילת הגמדב.

Rust GPU ממשיכה לפתח רעיונות מפרויקט RLSL, שבו נעשה ניסיון ליצור מהדר Rust למתווך ה- Shader הגנרי SPIR-V, המוצע בממשק ה- Vulkan API ונתמך ב- OpenGL 4.6.

בשלב הפיתוח הנוכחי שלו, ה- GPU של Rust כבר מאפשר לך להריץ הצללות גרפיות פשוטות ולהרכיב חלק משמעותי מהספרייה הסטנדרטית הבסיסית של Rust. יחד עם זאת, הפרויקט עדיין רחוק מלהיות מוכן לשימוש נרחב, למשל לולאות עדיין אינן נתמכות על ידי הצללים.

ב- Embark בנינו מנוע משחק משלנו מאפס ברוסט. יש לנו ניסיון קודם בפיתוח הבית של אב הטיפוס RLSL ויש לנו צוות של מהנדסי טיוח מצוינים שמכירים את הבעיות של שפות הצלליות של ימינו, הן ממשחקים, מנועי משחק ותעשיות אחרות. לכן, אנו מאמינים כי אנו במצב ייחודי לנסות לפתור בעיה זו.

אנו רוצים לייעל את הפיתוח הביתי שלנו בשפה נהדרת אחת, לבנות קהילת גרפיקה קוד פתוח ומערכת אקולוגית, להקל על שיתוף קוד בין GPU ו- CPU, והכי חשוב - לאפשר למשתמשים (העתידיים) שלנו ומפתחים אחרים. ליצור במהירות חוויות מרתקות ומרתקות יותר.

בהתבסס על הקוד בשפת Rust, נוצר ייצוג של הצלליות SPIR-V, שעבור דורו פותח backend מיוחד עבור מהדר Rust, שעובד באנלוגיה עם מחולל הקוד של מנוף הגולגולת המשמש להידור לייצוג. WebAssemble.

הגישה הנוכחית היא לתמוך בממשק ה- API הגרפי של Vulkan ו- SPIR-V, אך גנרטורים מתוכננים לעתיד תצוגות ההצללה של DXIL (DirectX) ו- WGSL (WebGPU). בהתבסס על מטען ו- crates.io, מפותחים כלים לפיתוח ולפרסום חבילות עם צלליות בפורמט SPIR-V.

לבסוף, אם ברצונך לדעת יותר על פרויקט זה, תוכל לבדוק את הפרטים במאגר הפרויקט, הקישור הוא זה.

באשר לאלה המעוניינים לדעת את הקוד, עליהם לדעת שהקוד מתפרסם תחת רישיונות MIT ו- Apache 2.0 ואפשר להשיג אותו מהקישור למטה.

והם יכולים גם להתייעץ עם התיעוד, שכבר מוכן למפתחים כדי שיוכלו לעבוד על לינוקס, חלונות ו- Mac. עיין במדריך בקישור זה.


תוכן המאמר עומד בעקרונותינו של אתיקה עריכתית. כדי לדווח על שגיאה לחץ כאן.

תגובה, השאר את שלך

השאירו את התגובה שלכם

כתובת הדוא"ל שלך לא תפורסם.

*

*

  1. אחראי לנתונים: מיגל אנחל גטון
  2. מטרת הנתונים: בקרת ספאם, ניהול תגובות.
  3. לגיטימציה: הסכמתך
  4. מסירת הנתונים: הנתונים לא יועברו לצדדים שלישיים אלא בהתחייבות חוקית.
  5. אחסון נתונים: מסד נתונים המתארח על ידי Occentus Networks (EU)
  6. זכויות: בכל עת תוכל להגביל, לשחזר ולמחוק את המידע שלך.

  1.   טייס אוטומטי דיג'ו

    חלודה ממריא, בתקווה שלא עוד "סקאלה קטלנית".