Slang: ภาษาเฉดสีจากแหล่งเดียวสำหรับการเขียนเฉดสีข้าม API
ประสบการณ์ Slang ซึ่งพัฒนาโดย The Slang Shading Language เป็นภาษา shading และโครงสร้างพื้นฐานของคอมไพเลอร์สำหรับการพัฒนา shader ขนาดใหญ่ คอมไพเลอร์จะนำเข้า HLSL และเพิ่ม generics, interfaces, modular compilation และการแยกแยะอัตโนมัติในตัวสำหรับการทำงานด้านกราฟิกเชิงประสาท โมเดล single-source ของมันสามารถสร้างโค้ดสำหรับ Vulkan, Direct3D, Metal, WebGPU และ CUDA โปรแกรมเมอร์กราฟิกมืออาชีพและสถาปนิกเอนจินจะได้รับความสามารถในการพกพาข้าม API และการแอบแฝงระดับภาษา ซึ่งช่วยลดการทำซ้ำของ shader variants และปรับปรุงการบำรุงรักษา
Slang ทำอะไร?
Slang เป็นภาษาการเขียนเงาที่ทันสมัยและโครงสร้างพื้นฐานของคอมไพเลอร์ที่ขยาย HLSL ที่มีอยู่ โดยเพิ่ม เจนเนอริก, อินเตอร์เฟซ, และระบบโมดูลพร้อมการควบคุมการมองเห็น มันมุ่งเป้าไปที่การเขียนจากแหล่งเดียว ซึ่งช่วยให้นักพัฒนาสามารถเขียนเชเดอร์หนึ่งตัวที่สามารถถูกส่งออกไปยังหลายแบ็คเอนด์ ความสามารถหลักรวมถึง API การสะท้อนสำหรับการสอบถามการผูกที่รันไทม์และฟีเจอร์การแยกอนุพันธ์ Slang.D สำหรับการผลิตพาสอนุพันธ์ที่ใช้ในการเรนเดอร์ที่แยกได้
มันมีผลต่อการทำงานข้าม API หรือไม่?
เครื่องมือลดความจำเป็นในการรักษาเวอร์ชันเชเดอร์แยกต่างหากโดยการคอมไพล์แหล่งเดียวไปยังหลายเป้าหมาย รวมถึง Vulkan (SPIR-V), Direct3D, Metal, WebGPU, และ CUDA คอมไพเลอร์ใช้ระบบความสามารถที่ตรวจสอบการสนับสนุนฟีเจอร์ตามเป้าหมายก่อนการสร้างโค้ด ซึ่งช่วยป้องกันความไม่ตรงกันของเป้าหมาย การดำเนินการไม่ขึ้นอยู่กับ LLVM ดังนั้นมันจึงสร้างโค้ดเชเดอร์แบบข้อความและ SPIR-V โดยไม่ต้องการไบนารีของ LLVM
Slang ใช้งานได้ปลอดภัยในสายการผลิตหรือไม่?
ความปลอดภัยจะถูกบังคับในระหว่างการคอมไพล์ผ่านการควบคุมการมองเห็นของโมดูล (สาธารณะ, ภายใน, ส่วนตัว) และการตรวจสอบความสามารถที่รับรองว่าฟีเจอร์ที่ใช้มีอยู่ในเป้าหมาย คอมไพเลอร์สร้างโค้ดเชเดอร์ที่เป็นรูปธรรมแทนที่จะฉีดชั้นรันไทม์ และ API การสะท้อนเปิดเผยข้อมูลพารามิเตอร์และการผูกสำหรับการตรวจสอบที่รันไทม์ Slang.D รวมการสร้างอนุพันธ์เป็นฟีเจอร์ของภาษา ดังนั้นการแยกจึงเป็นส่วนหนึ่งของกระบวนการคอมไพล์แทนที่จะเป็นการแปลงภายนอก
ฉันต้องมีความรู้ทางเทคนิคเพื่อใช้ Slang หรือไม่?
ภาษานี้มุ่งเป้าไปที่วิศวกรกราฟิกมืออาชีพ: มันเป็นซุปเปอร์เซ็ตของ HLSL ดังนั้นโค้ด HLSL ส่วนใหญ่จึงรวมเข้ากับการปรับเปลี่ยนเล็กน้อย แต่การใช้เจนเนอริก, อินเตอร์เฟซ, และการแยกอัตโนมัติต้องการความเชี่ยวชาญด้านเชเดอร์ นอกจากนี้ เครื่องมือยังมีการใช้งานในสายการผลิตที่พิสูจน์แล้วในโค้ดเบสขนาดใหญ่ที่บริษัทต่างๆ เช่น Valve, Adobe, และ NVIDIA ซึ่งบ่งชี้ว่ามันเหมาะกับทีมที่รวมสายการเรนเดอร์ที่ซับซ้อนและการทดลองกราฟิกเชิงประสาท
Slang เหมาะสำหรับทีมกราฟิกมืออาชีพที่ต้องการการรวมชาร์เดอร์ข้าม API
Slang เป็นตัวเลือกที่มีความสามารถสำหรับโปรแกรมเมอร์กราฟิกมืออาชีพที่ต้องการการสร้างชาร์เดอร์จากแหล่งเดียวและข้าม API การทำให้เป็นนามธรรมในระดับภาษาและการแยกแยะอัตโนมัติในตัวช่วยลดการทำซ้ำของเวอร์ชันชาร์เดอร์และสนับสนุนการวิจัยกราฟิกเชิงประสาท ข้อแลกเปลี่ยนหลักคือทีมต้องมีความรู้เกี่ยวกับชาร์เดอร์และ HLSL ที่มีอยู่เพื่อปลดล็อกฟีเจอร์ขั้นสูง สำหรับกลุ่มที่ดูแลห้องสมุดชาร์เดอร์ขนาดใหญ่ Slang ให้เส้นทางที่ใช้งานได้จริงสู่เครื่องมือชาร์เดอร์ที่รวมกันโดยมีข้อแม้นั้น