通过ActiveX在WPF中使用OpenGL? 我计划在WPF中嵌入一个非托管C++ OpenGL查看器。需求是(除了健壮性和易于开发之外) 适当调整大小 OpenGL查看器区域的上下文菜单(仅适用于与查看器相关的操作) 事件(例如,通过在OpenGL查看器中选择对象触发) WPF对话框应该绘制在OpenGL空间的顶部
到目前为止,我已经找到了一些关于使用托管WinForm控件(通过C++/CLI包装器)的博客和讨论,但要完成上述所有要求(如果可能的话)似乎有点棘手(甚至有点小技巧) 创建ActiveX控件怎么样?尽管没有创建ActiveX控件的经验,但它的一个优点是它可以在自己的进程中运行 这是个好主意还是我会遇到更多的修补通过ActiveX在WPF中使用OpenGL? 我计划在WPF中嵌入一个非托管C++ OpenGL查看器。需求是(除了健壮性和易于开发之外) 适当调整大小 OpenGL查看器区域的上下文菜单(仅适用于与查看器相关的操作) 事件(例如,通过在OpenGL查看器中选择对象触发) WPF对话框应该绘制在OpenGL空间的顶部,c++,wpf,opengl,activex,C++,Wpf,Opengl,Activex,到目前为止,我已经找到了一些关于使用托管WinForm控件(通过C++/CLI包装器)的博客和讨论,但要完成上述所有要求(如果可能的话)似乎有点棘手(甚至有点小技巧) 创建ActiveX控件怎么样?尽管没有创建ActiveX控件的经验,但它的一个优点是它可以在自己的进程中运行 这是个好主意还是我会遇到更多的修补 编辑:我应该更清楚地了解OpenGL查看器。它是一个基于C++ 3D引擎的现有应用程序,只支持OpenGL。移植到支持DirectX的引擎被认为是最后的选择。虽然我没有使用ActiveX
编辑:我应该更清楚地了解OpenGL查看器。它是一个基于C++ 3D引擎的现有应用程序,只支持OpenGL。移植到支持DirectX的引擎被认为是最后的选择。虽然我没有使用ActiveX,但我已经完成了我相信您正在努力实现的目标。两条信息帮助我走上了这条路
- 结果显示,托管C++完全不同于非托管C++,数据存储在完全不同的堆中。幸运的是,您可以使用…
#pragma管理
#pragma非托管
- 有关更多信息,请访问
- 我采用了一种类似于中描述的方法
- 如果您需要管理多个OpenGL窗口,wglMakeCurrent和WglShareList将是您的好友
祝你好运 为什么需要activex?有一些管理PInvoke为基础的包装,做你需要的工作。 但是,既然您正在使用WPF,并且您有一个对象,为什么不使用它呢?如果你熟悉3d引擎,你会欣赏它的优越性(即使在速度方面有一些缺点)
另一点是,由于OpenGl可以使用纯软件模式进行渲染,我被迫放弃WPF 3d渲染,转而使用OpenGl。如果您计划从服务或
asp.net
应用程序在屏幕外位图中渲染某些内容,则需要执行此操作。请尝试查看SharpGL。谢谢,要点。但不幸的是,关于观众,我的问题不够详细。请参阅我的编辑。