简体   繁体   English

如何在ASP.Net MVC Web应用程序中呈现建筑物的3D模型/图形

[英]How to render a 3D model/graphic of a building in a ASP.Net MVC webapplication

I am researching the possibility to render a 3D model or graphic from a building described by data in a ASP.Net MVC webapplication (C#). 我正在研究从ASP.Net MVC webapplication(C#)中的数据描述的建筑物渲染3D模型或图形的可能性。

Most posts on forums and on stackoverflow and articles on blogs and websites I find about things related are old (2006 and before). 在论坛和stackoverflow上的大多数帖子以及关于相关事物的博客和网站上的文章都是旧的(2006年和之前)。

As far as I can tell there are three choices: Direct3D, OpenGL and Unity 3D. 据我所知,有三种选择:Direct3D,OpenGL和Unity 3D。

Direct3D is from MS but I can't figure out whether this is suitable for a webapplication or not. Direct3D来自MS,但我无法弄清楚这是否适合Web应用程序。 Any experience anyone? 有经验吗? But as stated before, the highest ranked articles in google are from 2006 or earlier (is it still being developed/maintained/used?). 但如前所述,谷歌排名最高的文章是2006年或更早版本(它是否仍在开发/维护/使用?)。

OpenTK (www.opentk.com) looks the likely candidate for use of OpenGL but the latest release is from October 2006 (although there are recent blog posts on their website). OpenTK(www.opentk.com)看起来可能是使用OpenGL的候选者,但最新版本是从2006年10月开始的(尽管他们的网站上有最近的博客文章)。

Unity 3D seems very advanced, modern and recently maintained, however I am uncertain whether it is not to bulky to render a simple 3D model of a building. Unity 3D看起来非常先进,现代且最近得到了维护,但我不确定是否要笨重地渲染建筑物的简单3D模型。

I would welcome any suggestions whether one or the other is better suited for the task and preferably examples of implementation. 我欢迎任何建议,无论其中一个是否更适合这项任务,最好是实施的例子。

Cheers, Daniël 干杯,Daniël

I think you might be misunderstanding how this process works. 我想你可能会误解这个过程是如何运作的。

I assume that you want to render the object on the client? 我假设您要在客户端上呈现对象?

In that case you need to look at a client-side technology. 在这种情况下,您需要查看客户端技术。 ASP.Net or any other server-side platform can pass the data to the client but you need to use a client-side technology to do that. ASP.Net或任何其他服务器端平台可以将数据传递给客户端,但您需要使用客户端技术来执行此操作。

I don't know exactly where this stands right now but I would expect you to need to use Silverlight, Flash or possibly HTML5 for the display. 我不知道它现在的确切位置,但我希望你需要使用Silverlight,Flash或HTML5来显示。

HTML5 is standards compliant but it is less mature and as far as I know you will need a fairly new browser to access it: http://msdn.microsoft.com/en-us/library/hh535759(v=vs.85).aspx HTML5符合标准,但它不太成熟,据我所知,你需要一个相当新的浏览器才能访问它: http//msdn.microsoft.com/en-us/library/hh535759(v = vs.85)的.aspx

Silverlight is more mature, should integrate naturally with your Microsoft toolset but will require users to install the plug-in before they can use your tool. Silverlight更加成熟,应该与您的Microsoft工具集自然集成,但需要用户在使用您的工具之前安装插件。 I don't know how ubiquitous it is, but that may be an issue for you. 我不知道它有多普遍存在,但这对你来说可能是一个问题。 I would still probably favour this if you want quicker/more achievable development time: http://forums.silverlight.net/t/225673.aspx/1 如果你想要更快/更可实现的开发时间,我仍然可能会喜欢这个: http//forums.silverlight.net/t/225673.aspx/1

Flash is very ubiquitious but you will need proprietary tools to develop it and I don't know how/whether it would integrate with the Microsoft stack. Flash是非常普遍的,但你需要专有的工具来开发它,我不知道它是如何/是否会与Microsoft堆栈集成。 I think they would prefer you to use their own stuff. 我认为他们更愿意使用他们自己的东西。 It's good if you want something available on most current browsers but my feeling ( and if I'm honest my hope ) is that it will lose currency as HTML5 takes over. 如果你想在大多数现有的浏览器上都有可用的东西,那就太好了,但我的感觉(如果我说实话,我的希望)是因为HTML5接管它会失去货币。

Of course, if you're properly old school like it's 1998 you should totally go for VRML. 当然,如果你像1998年那样适合老派,你应该完全选择VRML。

As regards the server platform you use, that's basically irrelevant to rendering and display. 至于您使用的服务器平台,这与渲染和显示基本无关。 It's role will be to pass out data. 它的作用是传递数据。 If you are using a Windows server then you probably want to look at something WCF to pass the data out to your client. 如果您使用的是Windows服务器,那么您可能希望查看WCF将数据传递给客户端的内容。

If, you want to render your objects on the server and then use those renderings to create images or video on the client that is a slightly different matter again. 如果,您希望在服务器上渲染对象,然后使用这些渲染在客户端上创建图像或视频,这又是一个稍微不同的问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM