标签: c# winforms opengl visual-c++
是否可以在使用C#创建的Winforms窗口中将VC ++ OpenGL输出呈现给面板?我知道Tao框架和OpenTK,但我不想依赖第三方支持。有一篇文章here,但这仅仅是像素再现,我认为这种方法不能保证用户与OpenGL场景的交互。
答案 0 :(得分:1)
是的,这绝对是可能的。您必须在面板上提供的HWND上创建OpenGL上下文.Handle(它是一个IntPtr,但可以很容易地转换为HWND)。请注意,这仅适用于Windows窗体,因为在WPF控件中不一定有自己的HWND。 Here是另一个stackoverflow问题,它涵盖了类似的主题。
如何从C#应用程序访问本机C ++代码有多种方法,因此根据您的需要,您可能必须在C ++ / CLI中编写一个包装器,在您的本机C ++库中编写({{{ 3}}或here)。