我正在尝试使用SharpX包装器将DirectX用于C#(不幸的是,有关它的文档有些稀疏,我是一个大人物)。我可以创建一个DirectX呈现的表单,它可以正常工作。不幸的是,我似乎无法弄清楚如何创建一个常规的Form,以及一堆常规控件(例如按钮等)以及通过DirectX呈现的UserControl。
我知道简单的答案是“仅将SwapChainDescription.OutputHandle设置为yourUserControl.Handle”,但是我不知道从那里去哪里。我在哪里放置初始化,在哪里放置实际渲染代码,即“ d3dDeviceContext.Draw(...)”和“ swapChain.Present(...)”?
当我直接绘制到窗体上时,我正在使用“ RenderLoop.Run”,这似乎做对了(大概是通过接管事件循环);但我无法在UserControl上使用它。