Rust GPU ชุดเครื่องมือสำหรับพัฒนาเฉดสีใน Rust

บริษัท พัฒนาเกม Embark Studios ได้เปิดตัวรุ่นทดลองครั้งแรก ของโครงการ สนิม GPU ซึ่งมีจุดมุ่งหมายเพื่อใช้ภาษา Rust เพื่อพัฒนารหัส GPU 

ความปรารถนาที่จะใช้ Rust เพื่อเขียนโปรแกรมสำหรับ GPU ไม่เพียง แต่เกิดจากคุณสมบัติด้านความปลอดภัยและประสิทธิภาพสูงเท่านั้น แต่ยังจำเป็นต้องได้รับเครื่องมือที่ทันสมัยเพื่อทำงานร่วมกับแพ็คเกจและโมดูลเพื่อปรับปรุงประสิทธิภาพของกระบวนการพัฒนา

Rust GPU บริษัท พัฒนา Embark Studios ยังใช้ Rust ในเกมเอนจิ้น และทำงานเพื่ออำนวยความสะดวกในการแลกเปลี่ยนรหัสสนิมระหว่าง CPU และ GPU

ตามที่พวกเขา, ในอดีตในเกมการเขียนโปรแกรม GPU ทำได้โดยการเขียน HLSL หรือในระดับที่น้อยกว่า GLSL ภาษาเหล่านี้เป็นภาษาโปรแกรมง่ายๆที่พัฒนาควบคู่ไปกับการแสดงผล API ในช่วงหลายปีที่ผ่านมา

อย่างไรก็ตามในขณะที่เอ็นจิ้นเกมมีการพัฒนาภาษาเหล่านี้ยังไม่ได้จัดเตรียมกลไกในการจัดการกับฐานรหัสขนาดใหญ่และโดยทั่วไปแล้ว พวกเขาล้าหลังเมื่อเทียบกับภาษาโปรแกรมอื่น ๆ

แม้ว่าโดยทั่วไปจะมีทางเลือกอื่นที่ดีกว่าสำหรับทั้งสองภาษา แต่ก็ไม่สามารถแทนที่ HLSL หรือ GLSL ได้

ไม่ว่าจะเป็นเพราะผู้ให้บริการบล็อกหรือเนื่องจากไม่รองรับ ด้วยไปป์ไลน์กราฟิกแบบดั้งเดิม ตัวอย่าง ได้แก่ CUDA และ OpenCL และในขณะที่มีการพยายามสร้างภาษาในพื้นที่นี้ แต่ไม่มีสิ่งใดที่ได้รับแรงดึงดูดที่เห็นได้ชัดในชุมชน gamedev

Rust GPU ยังคงพัฒนาแนวคิดจากโครงการ RLSLซึ่งมีความพยายามในการสร้างคอมไพเลอร์ Rust ไปยัง SPIR-V generic shader intermediate ซึ่งเสนอใน Vulkan API และรองรับใน OpenGL 4.6

ในขั้นตอนการพัฒนาปัจจุบัน Rust GPU ช่วยให้คุณสามารถเรียกใช้เฉดสีกราฟิกที่เรียบง่ายและรวบรวมส่วนสำคัญของไลบรารีมาตรฐานพื้นฐานของ Rust ในขณะเดียวกันโปรเจ็กต์ยังห่างไกลจากความพร้อมสำหรับการใช้งานอย่างแพร่หลายเช่นเชเดอร์ยังไม่รองรับลูป

ที่ Embark เราได้สร้างเอนจิ้นเกมของเราเองตั้งแต่เริ่มต้นใน Rust เรามีประสบการณ์มาก่อนในการพัฒนาต้นแบบ RLSL ภายในองค์กรและเรามีทีมวิศวกรการเรนเดอร์ที่ยอดเยี่ยมซึ่งคุ้นเคยกับปัญหาของภาษา Shader ในปัจจุบันทั้งจากเกมเอนจิ้นเกมและอุตสาหกรรมอื่น ๆ ดังนั้นเราเชื่อว่าเราอยู่ในตำแหน่งที่ไม่เหมือนใครที่จะพยายามแก้ไขปัญหานี้

เราต้องการปรับปรุงการพัฒนาภายในของเราเองด้วยภาษาที่ยอดเยี่ยมเพียงภาษาเดียวสร้างชุมชนกราฟิกโอเพ่นซอร์สและระบบนิเวศอำนวยความสะดวกในการแบ่งปันโค้ดระหว่าง GPU และ CPU และที่สำคัญที่สุดคือเปิดใช้งานผู้ใช้ (ในอนาคต) และนักพัฒนาอื่น สร้างประสบการณ์ที่น่าสนใจและมีส่วนร่วมได้อย่างรวดเร็วมากขึ้น

ขึ้นอยู่กับรหัสในภาษา Rust การเป็นตัวแทนของเฉดสี SPIR-V ถูกสร้างขึ้นซึ่งมีการสร้างแบ็กเอนด์พิเศษสำหรับคอมไพเลอร์ Rust ซึ่งทำงานโดยการเปรียบเทียบกับตัวสร้างรหัส cranelift ที่ใช้ในการรวบรวมเป็นตัวแทน WebAssembly

แนวทางปัจจุบันคือการสนับสนุนมุมมอง Vulkan Graphics API และ SPIR-V แต่เครื่องกำเนิดไฟฟ้าได้รับการวางแผนไว้สำหรับอนาคตของมุมมองแบบ DXIL (DirectX) และ WGSL (WebGPU) จาก Cargo และ crates.io มีการพัฒนาเครื่องมือเพื่อพัฒนาและเผยแพร่แพ็คเกจที่มีเฉดสีในรูปแบบ SPIR-V

สุดท้ายหากคุณต้องการทราบข้อมูลเพิ่มเติมเกี่ยวกับโครงการนี้คุณสามารถตรวจสอบรายละเอียดในพื้นที่เก็บข้อมูลของโครงการ ลิงค์คือนี่

สำหรับผู้ที่สนใจที่จะทราบรหัสควรทราบว่ารหัสดังกล่าวเผยแพร่ภายใต้ใบอนุญาต MIT และ Apache 2.0 และมีความเป็นไปได้ที่จะได้รับ จากลิงค์ด้านล่าง

และยังสามารถดูเอกสารประกอบซึ่งเตรียมไว้แล้วสำหรับนักพัฒนาเพื่อให้สามารถทำงานบน Linux, Windows และ Mac ได้ ดูคำแนะนำได้ที่ลิงค์นี้


แสดงความคิดเห็นของคุณ

อีเมล์ของคุณจะไม่ถูกเผยแพร่ ช่องที่ต้องการถูกทำเครื่องหมายด้วย *

*

*

  1. ผู้รับผิดชอบข้อมูล: Miguel ÁngelGatón
  2. วัตถุประสงค์ของข้อมูล: ควบคุมสแปมการจัดการความคิดเห็น
  3. ถูกต้องตามกฎหมาย: ความยินยอมของคุณ
  4. การสื่อสารข้อมูล: ข้อมูลจะไม่ถูกสื่อสารไปยังบุคคลที่สามยกเว้นตามข้อผูกพันทางกฎหมาย
  5. การจัดเก็บข้อมูล: ฐานข้อมูลที่โฮสต์โดย Occentus Networks (EU)
  6. สิทธิ์: คุณสามารถ จำกัด กู้คืนและลบข้อมูลของคุณได้ตลอดเวลา

  1.   หม้อแปลงไฟฟ้​​า dijo

    สนิมเริ่มขึ้นหวังว่าจะไม่ใช่ "สกาลามฤตยู" อีก