簡體   English   中英

我應該在VB.Net中使用哪種技術來制作2D圖形? WPF,DirectX,SlimDX?

[英]What technology should I use for 2d graphics in VB.Net? WPF, DirectX, SlimDX?

最近,我被雇用來幫助編寫一些基於計算機的視覺測試,並且大多數代碼都在VB.Net中編寫。 我個人認為用c ++編寫它會更好,但是我認為那艘船已經航行了。 大多數測試在圖形上都是相當簡單的,例如,深度感知測試只是黑色背景上的三個灰色/銀色條,而使用nvidia 3D眼鏡可以使中間條看起來像是彈出或彈出。 其他測試不同,但通常涉及簡單的2d圖形。 我的理解是,DX9之后不存在對托管語言的DirectX支持。 我知道我可以使用XNA,但我不想讓最終客戶不得不下載XNA安裝程序。 我當時在考慮使用WPT,但我的理解是WPF基於矢量圖形,並且一個WPF像素不一定是真正的像素。 我需要對對象到像素的間距進行非常精確的控制,以便測試准確。 我的問題歸結為應該使用舊版本的DX9 a還是b,還是應該使用諸如slimDX之類的DX包裝器。 我的最后一個想法是在c ++和directX中為每個測試的圖形方面創建Windows應用程序控件,然后在可能的情況下在vb.net應用程序中使用該控件。 任何想法都將受到歡迎。

更新:OP明確表示他想使用支持NVidia 3D Vision的API

SlimDX是DirectX的C#包裝器,非常完整。 實際上-這是有關將SlimDX用於NVidia 3D的相關SO帖子: 在C#中使用DirectX11和SlimDX的Nvidia 3d Video (如果閱讀了后續內容,您將看到海報使它在DX9中工作)

對於僅2D的部分,WinForms / GDI +非常適合,但是您也可以使用SlimDX對其進行編碼,因為您已經可以使用它了。

GDI +:-2D圖形API-您可以在C#中工作(更接近所需的C ++)並與舊版VB.Net集成-像素級控件

與DX和OpenGL等GPU加速的3D庫相比,GDI +的唯一缺點是速度較慢,但​​是老實說,除非您推動許多百萬像素並且具有很高的幀速率要求,否則這不會引起注意。

您已確定Managed DirectX停止在DX9(僅適用於x86目標)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM