我目前正在学习wpf / silverlight。我想问一下哪个更适合图形,3d,......?
答案 0 :(得分:2)
人们说“Silverlight是WPF的一个子集” - 他们的意思是编程模型是相同的(代码+ XAML),但Silverlight通常比WPF具有更小的API /更少的功能。
我认为一个很好的例子就是创造一种反思。在WPF中,您可以使用VisualBrush,但Silverlight不支持它。您仍然可以通过创建第二个转换元素来创建相同的效果。您可以在两者中完成相同的任务,但对于Silverlight,您可能必须在服务器上执行一些处理任务。
平台的选择更多地取决于您是否要定位Web部署以及可能的性能。
在Silverlight 4中没有实现3D(尽管有3D库)。 3D将成为Silverlight 5的一部分。(Beta即将推出,可能在MIX,将于今年发布。)
答案 1 :(得分:1)
我会在WPF中获取wpf你有所有的Viewport sutff你可以做真正的3D,在Silverlight你有PlaneTransformation但它不接近真正的3d WPF 3d tutorial
答案 2 :(得分:0)
据我所知,这笔交易更深入。 我们将讨论WPF和Silverlight 5. 3D Graphics有两种机制。在WPF之前,它只是一个 - 所以命名为管道图形。它包括DirectX,OpenGL和多种衍生和独立实现(例如,来自DirectX的XNA)。虽然WPF内部基于DirectX,但它实现了与智能图形截然不同的概念。 管道和智能机制有什么区别?管道机制由绘图对象的无限循环组成 - 通常是诸如顶点,三角形之类的基元。它通过调用类似 OnDraw / ReDraw 方法的东西来初始化这样命名的无限循环。 WPF不使用 ReDraw ,在我们直接检测到它之前不会绘制任何内容。 单一正确使用它的方式。因此,WPF允许绘制UI元素,内部支持数百个事件,方法和完全自由的管理(例如通常的WPF控件 - 文本框)。 (Helix 3D是轻松实现WPF 3D的好方法)反之亦然,Silverlight 5有一些XNA图形API - 管道方式,没有UIElement支持3D对象。 Kit3D库http://kit3d.codeplex.com/非常适合Silverlight的智能图形实现,并且在管道机制上还有许多其他实现(Balder,Babylon)。如果你有兴趣编写像 web 3D游戏这样的应用程序 - 选择管道Silverlight 3D图形,如果你对智能3D应用程序感兴趣 - 选择WPF 3D。
WPF 3D CAE系统TIMO Structural的作者。