WinForms中的3D?

Dan*_*npe 6 .net c# directx 3d xna

如何在WinForms中使用3D视图?

我应该使用XNA吗?

我找到了这个教程:http://create.msdn.com/en-US/education/catalog/sample/winforms_series_1

但我不明白我怎么能只将ContentLibrary和内容添加到我的WinForms项目.

或者是否可以使用Scaleform GFx?对于Half2D还是3D?

And*_*ell 9

无法直接从标准的Visual C#项目引用XNA内容项目(就像您可能使用默认的WinForms模板一样).

你必须做的是创建一个XNA"Windows游戏库"项目(甚至是一个空项目),然后使用该项目上的"添加内容参考"选项来添加对XNA内容项目的引用.(其模板称为"空内容项目".)然后将此新游戏库项目的引用添加到您的WinForms项目中.

或者,没有什么能阻止你创建一个"Windows游戏"项目,然后使用"添加表单" - 这将添加一个空白表单和所需的程序集引用.你必须换出XNA模板Game1.cs,并Program.csProgram.cs从标准WinForms项目(或看到什么"的WinForms 1"样本使用).

对于动态内容加载,请查看"WinForms 2"示例.


bbo*_*sak 8

我建议使用OpenTK的GL控件 - OpenTK WinForms控件.这是跨平台的,易于使用,基于OpenGL; 这是跨平台和Mono兼容的.没有"黑客"可以让它工作,这是一种在WinForms容器中嵌入3D内容的非常简单的方法.OpenTK是根据LGPL许可的,这意味着您可以将其嵌入商业应用程序中.OpenTK/OpenGL目前适用于Linux,Mac和Windows,是我所知道的在.NET或Mono应用程序中嵌入3D内容最简单的方法.我在WinForms方法中尝试过XNA,结果有些令人困惑,而且根本不是跨平台的.然后他们发布了XNA 4,我以前的XNA应用程序与新版本完全兼容.在OpenGL中,您不会像在DirectX中那样经常发现此问题.


Fas*_*tAl 5

使用WPF.您可以混合和匹配表单.WPF有一个winforms容器,你可以放入一个窗口并填充它.但你可以使用开箱即用的WPF,只需要很少的教育 - 提示=使窗口固定大小或调整大小将控制您的控件.做正确的事情很难.

然后为你想要3D的图片放一个wpf面板.从互联网上剪切并粘贴3d wpf代码.