文地址:https://mellinoe.wordpress.com/2017/02/08/designing-a-3d-rendering-library-for-net-core/
作者:ERIC MELLINO
翻譯:楊曉東(Savorboard)
第一篇文章請看:http://www.cnblogs.com/savorboard/p/net-core-game-engine.html
在第二篇文章中,我將探索Veldrid,這個庫為Crazy Core的游戲引擎中的所有3D和2D渲染提供支持。我將討論這個庫的作用,我為什么建立它,以及它是如何工作的。
注意:對于本文中討論的一些內容,建議對圖形API有基本的了解。對于初學者,我建議查看下面的示例代碼,以獲得所涉及概念的一般概念。
使用像.NET這樣的托管語言最明顯的好處之一是,您的程序可以立即移植到支持該運行時的任何系統(tǒng)。一旦您開始使用本地原生庫,或者依賴于其他特定于平臺的功能,此優(yōu)點就會消失。那么,你如何設計一個硬件加速的3D應用程序,它能夠運行在各種操作系統(tǒng)和各種圖形API?好吧,你做一個抽象層,并屏蔽不利的代碼!與任何編程抽象一樣,必須非常仔細地進行權衡以隱藏復雜性,同時仍然保持強大的和表達性的編程模型。有了Veldrid,我有幾個打到的目標和非必須目標: