มีโปรเจ็กต์ค่อนข้างน้อยที่ตัดสินบนGeneric Graphics Toolkitสำหรับสิ่งนี้ GMTL ในนั้นดี - มันค่อนข้างเล็กใช้งานได้ดีมากและถูกใช้อย่างกว้างขวางพอที่จะเชื่อถือได้มาก OpenSG, VRJuggler และโปรเจ็กต์อื่น ๆ ล้วน แต่เปลี่ยนมาใช้สิ่งนี้แทนการคำนวณด้วยตัวเองของเวอร์เทอร์ / เมทริกซ์คณิตศาสตร์
ฉันพบว่ามันค่อนข้างดี - มันทำทุกอย่างผ่านเทมเพลตดังนั้นจึงยืดหยุ่นและรวดเร็วมาก
แก้ไข:
หลังจากการอภิปรายแสดงความคิดเห็นและการแก้ไขฉันคิดว่าฉันจะทิ้งข้อมูลเพิ่มเติมบางอย่างเกี่ยวกับประโยชน์และข้อเสียของการใช้งานเฉพาะและทำไมคุณอาจเลือกอีกอันหนึ่งตามสถานการณ์ของคุณ
GMTL -
ประโยชน์ที่ได้รับ: Simple API ออกแบบมาสำหรับเอ็นจิ้นกราฟิก มีประเภทดึกดำบรรพ์จำนวนมากที่มุ่งเน้นไปที่การแสดงผล (เช่นเครื่องบิน, AABB, quatenrions ที่มีการแก้ไขหลาย ๆ ค่าเป็นต้น) ที่ไม่ได้อยู่ในแพ็คเกจอื่น ๆ หน่วยความจำต่ำมากค่าใช้จ่ายค่อนข้างรวดเร็วใช้งานง่าย
ข้อเสีย: API เน้นที่การเรนเดอร์และกราฟิกเป็นพิเศษ ไม่รวมเมทริกซ์วัตถุประสงค์ทั่วไป (NxM) การสลายตัวของเมทริกซ์และการแก้ปัญหา ฯลฯ เนื่องจากสิ่งเหล่านี้อยู่นอกขอบเขตของแอปพลิเคชันกราฟิก / เรขาคณิตแบบดั้งเดิม
ไอเก็น -
ประโยชน์ที่ได้รับ: Clean API , ค่อนข้างใช้งานง่าย รวมถึงโมดูลรูปทรงเรขาคณิตพร้อมควอเทอร์เนียนและการแปลงรูปทรงเรขาคณิต ค่าใช้จ่ายหน่วยความจำต่ำ เต็มperformant สูงแก้เมทริกซ์ NxN ขนาดใหญ่และอื่น ๆ ที่ใช้งานทั่วไปการปฏิบัติทางคณิตศาสตร์
ข้อเสีย: อาจเป็นขอบเขตที่กว้างกว่าที่คุณต้องการเล็กน้อย (?) เรขาคณิตน้อยลง / กิจวัตรเฉพาะการเรนเดอร์เมื่อเทียบกับ GMTL (เช่น: นิยามมุมออยเลอร์, ฯลฯ )
IMSL -
ประโยชน์: ห้องสมุดตัวเลขที่สมบูรณ์มาก เร็วมาก (แก้ตัวเร็วที่สุด) API ทางคณิตศาสตร์ที่ใหญ่ที่สุดและสมบูรณ์ที่สุด สนับสนุนเชิงพาณิชย์เป็นผู้ใหญ่และมีเสถียรภาพ
ข้อเสีย: ต้นทุน - ไม่ถูก มีวิธีการทางเรขาคณิต / การเรนเดอร์น้อยมากดังนั้นคุณจะต้องกลิ้งตัวเองไว้บนคลาสพีชคณิตเชิงเส้น
NT2 -
ประโยชน์ที่ได้รับ: แสดงไวยากรณ์ที่คุ้นเคยมากขึ้นหากคุณคุ้นเคยกับ MATLAB ให้การสลายตัวเต็มรูปแบบและการแก้สำหรับเมทริกซ์ขนาดใหญ่ ฯลฯ
ข้อเสีย: คณิตศาสตร์ไม่เน้นการแสดงผล อาจไม่ใช่นักแสดงเช่นเดียวกับ Eigen
LAPACK -
ประโยชน์: อัลกอริธึมที่เสถียรและผ่านการพิสูจน์แล้ว รับรอบเป็นเวลานาน การแก้เมทริกซ์ที่สมบูรณ์ ฯลฯ มีตัวเลือกมากมายสำหรับคณิตศาสตร์ที่ไม่ชัดเจน
ข้อเสีย: ไม่ค่อยมีประสิทธิภาพในบางกรณี พอร์ตจาก Fortran พร้อมด้วย API แปลก ๆ สำหรับการใช้งาน
โดยส่วนตัวแล้วสำหรับฉันมันมีคำถามเดียว - คุณวางแผนจะใช้สิ่งนี้อย่างไร หากคุณโฟกัสอยู่ที่การเรนเดอร์และกราฟิกฉันชอบGeneric Graphics Toolkitเนื่องจากทำงานได้ดีและสนับสนุนการเรนเดอร์ที่มีประโยชน์มากมายนอกกรอบโดยไม่ต้องใช้ตัวคุณเอง หากคุณต้องการการแก้เมทริกซ์สำหรับวัตถุประสงค์ทั่วไป (เช่น: การสลายตัว SVD หรือ LU ของเมทริกซ์ขนาดใหญ่) ฉันจะไปกับEigenเพราะมันจัดการกับมันให้การดำเนินการทางเรขาคณิตบางอย่างและมีประสิทธิภาพมากด้วยโซลูชันเมทริกซ์ขนาดใหญ่ คุณอาจจำเป็นต้องเขียนการดำเนินการด้านกราฟิก / เรขาคณิตของคุณเอง (ด้านบนของเมทริกซ์ / เวกเตอร์) แต่ก็ไม่น่ากลัว