VSC Verified: เครื่องมือเรนเดอร์ 3D ซอฟต์แวร์แบบพกพาได้สร้างความสนใจในชุมชนนักพัฒนา

BigGo Editorial Team
VSC Verified: เครื่องมือเรนเดอร์ 3D ซอฟต์แวร์แบบพกพาได้สร้างความสนใจในชุมชนนักพัฒนา

ในโลกของกราฟิกคอมพิวเตอร์ การเร่งความเร็วด้วยฮาร์ดแวร์ได้กลายเป็นมาตรฐานสำหรับการเรนเดอร์ 3D อย่างไรก็ตาม โปรเจกต์ใหม่ที่เรียกว่า VSC (VOUGA-SHREINER-CANTH) Verified กำลังใช้แนวทางที่แตกต่างโดยการพัฒนาเอนจินเรนเดอร์ 3D แบบเรียลไทม์ที่ทำงานด้วยซอฟต์แวร์ล้วนๆ โดยมีความสามารถในการพกพาเป็นเป้าหมายหลัก โปรเจกต์นี้ได้จุดประกายการสนทนาในชุมชนนักพัฒนาเกี่ยวกับความสำคัญและการประยุกต์ใช้การเรนเดอร์ด้วยซอฟต์แวร์ในโลกที่เร่งความเร็วด้วยฮาร์ดแวร์ในปัจจุบัน

ตัวละครมนุษย์ที่มีรูปร่างเป็นบล็อกแสดงถึงแก่นของกราฟิก 3 มิติที่ได้สำรวจในโครงการ VSC Verified
ตัวละครมนุษย์ที่มีรูปร่างเป็นบล็อกแสดงถึงแก่นของกราฟิก 3 มิติที่ได้สำรวจในโครงการ VSC Verified

การเรนเดอร์ด้วยซอฟต์แวร์ในโลกที่เร่งความเร็วด้วยฮาร์ดแวร์

VSC Verified ถูกสร้างขึ้นเป็น rasterizer โดยใช้เทคนิคการคำนวณเพื่อจำลองแสง เงา พื้นผิว และวัสดุต่างๆ โดยไม่ต้องพึ่งพาฮาร์ดแวร์กราฟิกเฉพาะทาง โปรเจกต์นี้ได้รับแรงบันดาลใจจากแนวทางของ DoomGeneric ในการแยกโค้ดส่วนหลังและส่วนหน้าออกจากกัน ทำให้มีความสามารถในการพกพาสูง ตามเอกสารประกอบ เอนจินนี้อิงตามหลักการจากหนังสือ Mathematics for 3D Game Programming and Computer Graphics โดย Eric Lengyel และแหล่งข้อมูลทางวิชาการอื่นๆ ชุมชนได้แสดงความสนใจเป็นพิเศษในความสามารถในการพกพาของโปรเจกต์ไปยังระบบฝังตัวเช่นไมโครคอนโทรลเลอร์ ESP32

ผมกำลังเขียนระบบปฏิบัติการและต้องการสร้างเรนเดอร์เรอร์ซอฟต์แวร์ (แบบแบตช์) ภายในนั้นเพื่อวาดสิ่งต่างๆ ผมไม่มั่นใจและปัจจุบันไม่มีเป้าหมายที่จะพอร์ต Vulkan หรือเขียนไดรเวอร์อุปกรณ์

ความคิดเห็นนี้เน้นย้ำหนึ่งในกรณีการใช้งานหลักสำหรับการเรนเดอร์ด้วยซอฟต์แวร์: สภาพแวดล้อมที่การเร่งความเร็วด้วยฮาร์ดแวร์ไม่สามารถใช้งานได้หรือไม่สะดวก สำหรับนักพัฒนาที่กำลังสร้างระบบปฏิบัติการเอง แอปพลิเคชันฝังตัว หรือทำงานกับฮาร์ดแวร์ที่มีข้อจำกัด การเรนเดอร์ด้วยซอฟต์แวร์ยังคงมีความสำคัญแม้จะมีข้อจำกัดด้านประสิทธิภาพ

คุณสมบัติหลักของ VSC Verified

  • เอนจินการเรนเดอร์ 3 มิติแบบเรียลไทม์ที่พัฒนาด้วยซอฟต์แวร์ล้วนๆ
  • ออกแบบมาเพื่อความสามารถในการใช้งานข้ามแพลตฟอร์ม
  • รวมความสามารถในการแรสเตอร์ไรเซชัน พร้อมแผนการสำหรับเรย์เทรซซิ่ง
  • เข้ากันได้กับระบบฝังตัวอย่าง ESP32
  • อ้างอิงหลักการจากหนังสือ "Mathematics for 3D Game Programming and Computer Graphics"
  • ใช้ลิขสิทธิ์ภายใต้ AGPL

การถกเถียงเรื่องใบอนุญาตและความต้องการเอกสาร

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

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

การพิจารณาด้านประสิทธิภาพและแผนในอนาคต

ประสิทธิภาพเป็นความกังวลตามธรรมชาติสำหรับเรนเดอร์เรอร์ซอฟต์แวร์ใดๆ นักพัฒนาได้ระบุถึงแผนในการปรับปรุงประสิทธิภาพ รวมถึงโครงสร้างการเร่งความเร็วเช่น Bounding Volume Hierarchies (BVH) สำหรับส่วนประกอบ raytracer และอัลกอริทึมที่ปรับปรุงสำหรับ rasterizer การปรับปรุงเหล่านี้อาจช่วยแก้ไขข้อจำกัดด้านประสิทธิภาพที่มีอยู่ในการเรนเดอร์ด้วยซอฟต์แวร์เมื่อเทียบกับการเร่งความเร็วด้วยฮาร์ดแวร์

โปรเจกต์นี้ยังรวมถึงส่วนประกอบ raytracer ที่วางแผนไว้ (ซึ่งถูกเรียกอย่างขบขันว่า FINAL DESTINATION ในเอกสาร) ซึ่งจะเสริมฟังก์ชันการทำงานของ rasterizer ที่มีอยู่ แนวทางแบบคู่นี้มอบความยืดหยุ่นสำหรับความต้องการในการเรนเดอร์และกรณีการใช้งานที่แตกต่างกัน

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

อ้างอิง: VSC (VOUGA-SHREINER-CANTH) Verified