Nvidia เปิดซอร์สโค้ด PhysX และ Flow อย่างสมบูรณ์ รวมถึง GPU Kernels

BigGo Editorial Team
Nvidia เปิดซอร์สโค้ด PhysX และ Flow อย่างสมบูรณ์ รวมถึง GPU Kernels

Nvidia ได้ก้าวสำคัญในชุมชนนักพัฒนาโดยการเปิดซอร์สโค้ด SDK ของ PhysX และ Flow อย่างสมบูรณ์ ซึ่งรวมถึง GPU simulation kernels ที่เคยเป็นกรรมสิทธิ์เฉพาะ การเคลื่อนไหวครั้งนี้แสดงถึงการเปลี่ยนแปลงครั้งสำคัญในแนวทางของ Nvidia ต่อเทคโนโลยีการจำลองฟิสิกส์ ซึ่งอาจช่วยฟื้นชีวิตให้กับเกมเก่าๆ ในขณะเดียวกันก็เปิดโอกาสให้นักพัฒนาสร้างการใช้งานแบบกำหนดเองบนแพลตฟอร์มต่างๆ

การเปิดซอร์สโค้ดอย่างสมบูรณ์

Nvidia ได้เปิดเผยซอร์สโค้ดทั้งหมดของทั้ง PhysX และ Flow ภายใต้ใบอนุญาต BSD-3 แบบเปิดกว้าง แม้ว่าโค้ดการจำลองฝั่ง CPU ของ PhysX จะเป็นโอเพนซอร์สมาตั้งแต่ปลายปี 2018 แต่ GPU simulation kernels ซึ่งเป็นส่วนประกอบหลักที่ช่วยให้เกิดการเร่งความเร็วด้วยฮาร์ดแวร์ ยังคงเป็นกรรมสิทธิ์เฉพาะจนถึงตอนนี้ การเปิดเผยครั้งนี้รวมถึง CUDA kernels กว่า 500 ตัวที่รองรับความสามารถกราฟิกขั้นสูง เช่น rigid body dynamics, การจำลองของไหล และวัตถุที่เปลี่ยนรูปร่างได้ นอกจากนี้ Nvidia ยังได้เปิดเผยการใช้งาน shader ทั้งหมดของ Flow ซึ่งเป็น SDK เฉพาะทางที่มุ่งเน้นการจำลองของไหล เช่น เอฟเฟกต์ไฟ ก๊าซ และควัน

PhysX และ Flow ได้เปิดเป็นโอเพนซอร์สภายใต้ใบอนุญาต BSD-3 แล้ว รวมถึงเคอร์เนลจำลองสถานการณ์บน GPU ที่เคยเป็นกรรมสิทธิ์เฉพาะด้วย

PhysX และ Flow ทำอะไรได้บ้าง

PhysX เป็นเอนจินฟิสิกส์แบบเรียลไทม์ที่ถ่ายโอนการคำนวณที่ซับซ้อนไปยัง GPU โดยใช้ประโยชน์จากความสามารถในการประมวลผลแบบขนานผ่านแพลตฟอร์ม CUDA ของ Nvidia เทคโนโลยีนี้ได้ถูกนำไปใช้ในเกมจำนวนมากในช่วงปี 2010 รวมถึง Mirror's Edge, Batman: Arkham Asylum, Metro 2033 และ Borderlands 2 ในขณะที่ Flow เป็น SDK ที่เฉพาะเจาะจงมากขึ้นสำหรับกลไกการจำลองของไหล สร้างเอฟเฟกต์ไฟ ควัน และก๊าซที่สมจริงในแอปพลิเคชันแบบเรียลไทม์

PhysX มีเคอร์เนล CUDA มากกว่า 500 ตัวที่รองรับการคำนวณพลศาสตร์ของวัตถุแข็ง การจำลองของไหล และวัตถุที่สามารถเปลี่ยนรูปร่างได้

ผลกระทบต่อเกมรุ่นเก่า

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

การเปิดเผยซอร์สโค้ดอาจช่วยให้เกิดโซลูชันความเข้ากันได้สำหรับการเล่นเกมที่ใช้ PhysX แบบ 32 บิตบน GPU รุ่น Blackwell ( RTX 50 ซีรีส์ )

การประยุกต์ใช้งานที่กว้างขวางขึ้น

ด้วยซอร์สโค้ดที่สมบูรณ์ที่มีให้ใช้งานแล้ว นักพัฒนามีโอกาสที่ไม่เคยมีมาก่อนในการปรับเปลี่ยนและต่อยอดไลบรารีเหล่านี้ แม้ว่าจะเป็นไปได้ในทางเทคนิคที่จะแยก PhysX และ Flow ออกจาก CUDA และพอร์ตไปยังแพลตฟอร์มที่เป็นอิสระจากฮาร์ดแวร์ เช่น OpenCL หรือ Vulkan ซึ่งอาจช่วยให้รองรับ GPU ของ AMD และ Intel แต่การดำเนินการดังกล่าวจะมีความซับซ้อนอย่างมาก นอกเหนือจากเกม การเข้าถึง GPU kernels และโค้ดการจำลอง shader เหล่านี้อาจมีผลกระทบอย่างกว้างขวางในสาขาต่างๆ เช่น วิศวกรรมกราฟิก หุ่นยนต์ สถาปัตยกรรมและการออกแบบ และแอนิเมชัน

อนาคตของ PhysX ในวงการเกม

แม้จะมีการเปิดซอร์สโค้ดนี้ แต่ควรทราบว่า PhysX ถือเป็นเทคโนโลยีรุ่นเก่าในการพัฒนาเกมสมัยใหม่ เอนจินใหม่ๆ เช่น Unreal Engine 5 พร้อมเอนจินฟิสิกส์ Chaos ได้มาแทนที่ PhysX แล้วเป็นส่วนใหญ่ เทคโนโลยีนี้ได้รับการสนับสนุนในเกมประมาณ 1,000 เกม ซึ่งส่วนใหญ่ต้องใช้ GPU ของ Nvidia เพื่อแสดงเอฟเฟกต์ฟิสิกส์ขั้นสูงอย่างถูกต้อง นักเล่นเกมที่ทุ่มเทบางคนถึงกับติดตั้ง GPU ของ Nvidia ราคาไม่แพงเป็นการ์ดที่สองโดยเฉพาะเพื่อจัดการการคำนวณ PhysX ในขณะที่ใช้การ์ด RTX 50 รุ่นใหม่สำหรับการเรนเดอร์หลัก

PhysX ได้รับการสนับสนุนในเกมประมาณ 1,000 เกม โดยส่วนใหญ่ต้องใช้การ์ดจอ Nvidia สำหรับการเร่งความเร็วด้วยฮาร์ดแวร์

การตอบสนองของชุมชนและศักยภาพ

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