将DirectX渲染用于表单上的单独UserControl

时间:2019-02-22 17:23:36

标签: c# .net graphics directx sharpdx

我正在尝试使用SharpX包装器将DirectX用于C#(不幸的是,有关它的文档有些稀疏,我是一个大人物)。我可以创建一个DirectX呈现的表单,它可以正常工作。不幸的是,我似乎无法弄清楚如何创建一个常规的Form,以及一堆常规控件(例如按钮等)以及通过DirectX呈现的UserControl。

我知道简单的答案是“仅将SwapChainDescription.OutputHandle设置为yourUserControl.Handle”,但是我不知道从那里去哪里。我在哪里放置初始化,在哪里放置实际渲染代码,即“ d3dDeviceContext.Draw(...)”和“ swapChain.Present(...)”?

当我直接绘制到窗体上时,我正在使用“ RenderLoop.Run”,这似乎做对了(大概是通过接管事件循环);但我无法在UserControl上使用它。

0 个答案:

没有答案