【问题标题】:How to render a 3D model/graphic of a building in a ASP.Net MVC webapplication如何在 ASP.Net MVC Web 应用程序中渲染建筑物的 3D 模型/图形
【发布时间】:2012-04-25 08:48:35
【问题描述】:

我正在研究从 ASP.Net MVC Web 应用程序 (C#) 中的数据描述的建筑物中渲染 3D 模型或图形的可能性。

我在论坛和 stackoverflow 上发现的大多数帖子以及博客和网站上有关相关事物的文章都是旧的(2006 年及之前)。

据我所知,共有三种选择:Direct3D、OpenGL 和 Unity 3D。

Direct3D 来自 MS,但我不知道这是否适合 web 应用程序。有人有经验吗?但如前所述,谷歌排名最高的文章是 2006 年或更早的文章(它还在开发/维护/使用吗?)。

OpenTK (www.opentk.com) 看起来很可能使用 OpenGL,但最新版本是 2006 年 10 月发布的(尽管他们的网站上有最近的博客文章)。

Unity 3D 看起来非常先进、现代且最近维护,但我不确定渲染一个简单的建筑物 3D 模型是否过于庞大。

我欢迎任何建议,无论其中一个或另一个更适合该任务,最好是实施示例。

干杯, 丹尼尔

【问题讨论】:

    标签: c# asp.net-mvc-3 unity3d direct3d opentk


    【解决方案1】:

    我认为您可能误解了此过程的工作原理。

    我假设你想在客户端渲染对象?

    在这种情况下,您需要查看客户端技术。 ASP.Net 或任何其他服务器端平台可以将数据传递给客户端,但您需要使用客户端技术来做到这一点。

    我不知道它现在的确切位置,但我希望您需要使用 Silverlight、Flash 或可能的 HTML5 来显示。

    HTML5 符合标准,但不太成熟,据我所知,您需要一个相当新的浏览器才能访问它:http://msdn.microsoft.com/en-us/library/hh535759(v=vs.85).aspx

    Silverlight 更加成熟,应该与您的 Microsoft 工具集自然集成,但需要用户安装插件才能使用您的工具。我不知道它有多普遍,但这对你来说可能是个问题。如果您想要更快/更可实现的开发时间,我仍然可能会喜欢这个:http://forums.silverlight.net/t/225673.aspx/1

    Flash 非常普遍,但您需要专有工具来开发它,我不知道它如何/是否会与 Microsoft 堆栈集成。我认为他们更喜欢你使用他们自己的东西。如果您想要在大多数当前浏览器上可用的东西,那很好,但我的感觉(如果我说实话,我希望)是随着 HTML5 的接管,它将失去货币。

    当然,如果你是 1998 年那样的老派,你完全应该选择 VRML。

    关于你使用的服务器平台,这基本上与渲染和显示无关。它的作用是传递数据。如果您使用的是 Windows 服务器,那么您可能希望查看 WCF 以将数据传递给您的客户端。

    如果您想在服务器上渲染您的对象,然后使用这些渲染在客户端上创建图像或视频,这又是另一回事了。

    【讨论】:

    • 感谢您的评论,我实际上意识到但可能没有明确说明我想要什么。您当然是正确的,它是客户端,但是数据来自 C# 中的 asp.net mvc Web 应用程序,我更喜欢可以与之完美通信的 3D 库,最好是支持 MS Visual Studio Intellisense,这就是为什么我在我的问题中包括了那部分。这听起来合理还是像一个完整的菜鸟(我可能是)。
    • 这个问题表明你对这个领域还不太了解,但最好的学习方法就是去做——当我们回头看时,我们都会开始问一些没有意义的问题在他们身上。
    • 感谢您帮助我,这对我来说无疑是一个全新的领域。我要试试three.js(mrdoob.github.com/three.js),一个轻量级的JS库。 Silverlight 确实是一种可能性,但我们的客户大多在没有安装插件权限的系统上。我也注意到了 VRML,但我们需要老派。感谢您的意见。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多