我的目標是將一些對象放入3D空間並調用Render(),然後該庫可以告訴我每個對象的2D屏幕上的渲染位置。或者像3D遊戲引擎,但我想接管渲染部分,我想自己渲染這些對象。有沒有任何C#3D圖形庫可以幫助我計算3D對象在空間中的2D位置?
任何人都可以幫助我嗎?
我的目標是將一些對象放入3D空間並調用Render(),然後該庫可以告訴我每個對象的2D屏幕上的渲染位置。或者像3D遊戲引擎,但我想接管渲染部分,我想自己渲染這些對象。有沒有任何C#3D圖形庫可以幫助我計算3D對象在空間中的2D位置?
任何人都可以幫助我嗎?
XNAMath呢?這應該足以滿足您的所有需求。實際上它現在是DirectX SDK的一部分。
編輯:如果你想對計算機圖形幾何的實際洞察,這裏有一個涵蓋所有主題的綜合book。無論你正在設計什麼圖形,遊戲,CG演示或其他什麼,數學在任何地方都是一樣的。
任何支持矩陣操作的庫都可能會有所幫助,但我建議您使用受管DirectX。它有許多實用功能,尤其是對於3D圖形。
選擇一個庫後,使用該庫創建一個合適的視圖矩陣和投影矩陣。將這兩個矩陣乘以一個矩陣,然後將該矩陣與3D中的位置(一個對象的中心或某個頂點)相乘。結果向量會將對象的位置指向2D屏幕。這是3D圖形的標準管道,您可以使用關鍵字找到許多參考。
我的軟件不是遊戲,所以我可以只使用矩陣操作?或者如果有任何文章可以告訴我算法。謝謝。 –
我可以在沒有XNA Framework的情況下使用這個庫嗎?我的軟件不是遊戲。謝謝。 –
是的,您可以使用XNA Framework以外的庫。雖然它被稱爲XNAMath,但它不是XNA的一部分,而是用C++編寫的。此外,它使用最新的SIMD優化,所以我猜這是最有效的數學庫。 –
非常有幫助。謝謝。 –