2013-04-06 193 views
1

我想將一個桌面C#項目移植到Windows Phone(8),但我的問題是它在某些部分使用OpenTK來顯示一些3D模型。經過一番研究,我確定OpenTK是一種.NET或單一的OpenGL綁定。我知道Windows Phone不支持OpenGL,只支持XNA和Direct3D。OpenTK C#Windows Phone(8)

我現在的問題是,我能做些什麼來使這段代碼工作。 Windows Phone上是否有某種OpenTK的端口?一些OpenTK的端口可以直接連接到WP,但我不確定我是否可以從C#訪問Direct3D;我將不得不以某種方式弄清楚如何將OpenTK代碼轉換爲XNA代碼(即使(實際上)也可以);或者還有其他一些希望更簡單的方法。

回答

1

恐怕沒有簡單的方法將您的OpenTK代碼自動轉換爲DirectX。

我會將代碼移植到http://www.monogame.net/,它使用Windows,Android,iOS和Linux下的OpenTK以及Windows Phone8和Windows 8 Store/Metro上的SharpDX。

這樣你的代碼變得與目標平臺無關,但是讓OpenTK轉向monogame還是有一些工作要做。 所以這可能不是你想聽到的,對不起。

+0

我也想到了這一點,但這是相當敏感的,因爲我試圖端口的應用程序已經支持所有其他平臺。這將是相同數量的移植工作。 – Gerharddc 2013-04-16 18:16:38

+0

除非OpenTK - > MonoGame比OpenTK - > SharpDX更簡單,是嗎? – Gerharddc 2013-04-16 18:17:20

+1

好吧,最終你會得到一個適用於所有平臺(monoGame)的代碼庫,而不必在之後維護兩個代碼庫(OpenTK和SharpDX)。我並不是簡單的,可能取決於你的DirectX技能。對我個人而言,monoGame路線可能會更容易,因爲我對XNA的直接使用經驗比XNA更多。 – 2013-04-16 18:31:18