什么是具有实时3D渲染在工程应用的最佳方式是什么?实时、方式、工程

由网友(你的脖子真可爱,上面顶个猪脑袋。今日QQ乐园为小伙伴们设计一)分享简介:我们正在开发中的虚拟现实环境下基于GIS的应用程序,它模拟了现实世界的物体(如管道,道路等)。目前我们使用 ArcScene中从的 ESRI的ArcGIS 包3D渲染,并在今后,我们打算把它与我们自己的3D环境取代。 问:什么是具有实时3D上述申请呈现的最佳方式?我没有做过这方面的经验,我也真糊涂。我应该使用可用的...

我们正在开发中的虚拟现实环境下基于GIS的应用程序,它模拟了现实世界的物体(如管道,道路等)。目前我们使用 ArcScene中从的 ESRI的ArcGIS 包3D渲染,并在今后,我们打算把它与我们自己的3D环境取代。

问: 什么是具有实时3D上述申请呈现的最佳方式? 我没有做过这方面的经验,我也真糊涂。我应该使用可用的3D渲染引擎(以下一些上市)中的一个?如果答案是肯定的,那么该参数应(不管其成本的)考虑? 没有任何一个有没有这方面的经验或建议吗?

环境和用品:

我们用C#.NET环境下开发的应用程序 有大量的3D对象,以显示 3D对象分组在不同的CAD文件 与最终的3D场景互动是必不可少的(如选择一个3D对象) 在加载,卸载,开机,关机,设置一层和/或对象(S)的透明性是必需的。 高性能的wides的实时渲染$ P $垫型号(800多公顷土地)的高细节(从道路到像一颗螺丝非常细的物体) 有没有必要提前着色问题(在这个时候) 纹理必须适用

Rendring发动机: 某些搜索后,我发现下面的3D渲染解决方案:

CadFaster |引擎 :在CadFaster |引擎是一个独特的技术应用的可扩展性最强的3D渲染解决方案,它比通常的CAD应用程序的速度更快了十次,引擎包含专利的实时同步的三维数据集和几何形状的机制允许自动整合,主应用程序CadFaster |发动机也含有专利的实时多边形减少的提高了3D性能从DevMaster引用

Quest3D中 :使用Quest3D中创建的软件,网络和模拟器。Quest3D中是建筑可视化,产品可视化,数字娱乐的完美解决方案, 计算机辅助培训和高端虚拟现实应用。从Quest3D中引入引用

OpenSceneGraph的 :在OpenSceneGraph的是一个开源的高性能3D图形工具包,在诸如可视化仿真,游戏,虚拟现实,科学可视化和模拟,完全用标准C ++和OpenGL ... openscenegraph的是现在公认的世界领先的场景图技术领域所使用的应用程序开发人员,广泛应用于相婵,空间,科学,油气,游戏和虚拟现实等行业的主要语言:C / C ++语言的包装:C#,...。从OSG主页引用。

也有是几乎完全可用引擎的的 DevMaster 和 3DLinks

解决方案

无论使用哪种发动机,有一些关键的概念理解。

既然你正在处理如此多的对象,主要的一个是细节等级(LOD)的。确保你的对象都有与之相关的现实毁灭之王。例如,你不会打扰观看整个场景时,使螺杆的高细节模型。此外,当更靠近它,但仍足够远,螺杆的低细节版本是用于再现不够好。

此外,您还可以像虚拟地球和瓷砖您的数据(这是关系到LOD)的技巧。 最后,剔除将是非常重要的,但可能涉及任何您已经提及的引擎。

如果你正在处理地理信息系统的东西,检查出AGI的 Insight3D 。尚处于初期发展,但受到了很多很好的技术支持,并设计来处理大量的对象,扑杀,毁灭之王,等他们甚至有办法嵌入视频作为纹理。

编辑:

3D Max如何渲染图片

如果您在C#中处理,你说,我真的想看看Insight3D。它是一个三维GIS引擎。不是一个游戏引擎。它是一个基于场景图,这意味着你不必担心帧一帧的渲染,你可能要与其他引擎。

他们有所有你需要的构建

在非常快的命中测试(即你选哪一个实体)。 场景图班,有条件的渲染很容易控制。 时间被集成到发动机作为场景-图的一部分。这意味着,你甚至可以定义看上去就像在一个时间previous点什么东西,来回走就可以了。

对于我来说,一个3D引擎和游戏引擎之间的差异可以得到pretty的模糊。从我所看到的,关键的区别是,游戏引擎更担心使事情看起来不错不是准确的。例如,我们使用了虚幻引擎来渲染我们的办公室,但我们必须让一切不同的尺度比现实生活。它看起来很棒,但不是现实生活中的尺寸。在细节处理这可能有所作为下降到螺丝,你在做什么。

一个小免责声明:我不为AGI工作,但我已经亲自会见了正在创建这款发动机的工程师。他们整合了最新的GPU和渲染技术,因此它是目前最好最快的,做得好的引擎,我用的一个。它利用知识和使用它们的主要应用技术( STK ),这被很多人对于高分辨率的天文计算。

We are developing a GIS based application which simulates the real word objects (i.e. Pipes, Roads, etc) in a virtual reality environment. Currently we use ArcScene from ESRI ArcGIS package for 3D rendering, and in future we intend to replace it with our own 3D environment.

Question: What is the best way to have realtime 3D rendering in above mentioned application? I do not have any experience in this field and i'm really confused. Should I use one of the available 3D rendering engine (some listed below)? if the answer is yes, then which parameters should be considered (regardless of its cost)? Does any one have any experience or suggestion in this field?

circumstance and necessities:

We use C# .NET environment for developing the application There are huge amount of 3D objects to show 3D objects are grouped in different CAD files Interaction with final 3D scene is essential (e.g. Select one 3D object) Load, unload, on, off and set transparency of one layer and/or object(s) are required. High performance in realtime rendering of widespread models (More than 800 hectare area) with high details (from Roads to very fine objects like one screw) There is no need to advance shading issues (at this time) Texture must be applicable

Rendring Engines: After some search I found the following 3D rendering solutions:

CadFaster|Engine: "The CadFaster|Engine is a unique and the most scalable 3D rendering solution for technical applications. It is over ten times faster than usual CAD applications. The engine includes patented real-time synchronization mechanisms for 3D data sets and geometry which allows automatic integration to the master application. CadFaster|Engine also contains patented real-time polygon reduction which improves the 3D performance." cited from DevMaster

Quest3D: "Use Quest3D to create software, web and simulators. Quest3D is the perfect solution for architecture visualization, product visualization, digital entertainment, computer aided training and high-end VR applications." cited from Quest3D introduction

OpenSceneGraph: "The OpenSceneGraph is an open source high performance 3D graphics toolkit, used by application developers in fields such as visual simulation, games, virtual reality, scientific visualization and modelling. Written entirely in Standard C++ and OpenGL ... . The OpenSceneGraph is now well established as the world leading scene graph technology, used widely in the vis-sim, space, scientific, oil-gas, games and virtual reality industries. The main language: C/C++ Language wrappers: C#, ... ." cited from OSG home page.

Also there is a list of nearly complete available engines at DevMaster and 3DLinks

解决方案

Regardless of which engine you use, there are some key concepts to understand.

Since you are dealing with so many objects, the main one is that of Level of Detail (LoD). Make sure your objects have realistic LoD associated with them. For example, you won't bother to render the high-detail model of the screw when viewing the whole scene. Also, when closer to it yet still far enough away, a low-detail version of the screw is good enough for rendering.

Also, you can do tricks like Virtual Earth and tile your data (which is related to LoD). Finally, culling is going to be very important, but probably dealt with any of those engines you have already mentioned.

If you are dealing with GIS stuff, check out AGI's Insight3D. Still in early development, but backed by a lot of good technology, and designed to handle large quantities of objects, culling, LoD, etc. They even have ways to embed video as a texture.

EDIT:

If you are dealing in C# as you stated, I really would take a look at Insight3D. It is a 3D GIS engine. Not a game engine. It is scene-graph based, which means you don't have to worry about frame-by-frame rendering as you might have to with other engines.

They have all the constructs you need for

Very fast hit-testing (i.e. which entity you picked). Scene-Graph classes with easy controls for conditional rendering. Time is integrated into the engine as part of the Scene-Graph. This means that you can even define what things looked like at a previous point in time and go back and forth on it.

For me, the difference between a 3D engine and a game engine can get pretty blurred. From what I've seen, the key difference is that game engines are more worried about making things look good than accurate. For example, we used the Unreal engine to render our office, but we had to make everything to different scales than real-life. It looked great, but not to real-life dimensions. This might make a difference when dealing with details down to screws as you are doing.

A little disclaimer: I do not work for AGI, but I have personally met the engineers that are creating this engine. They are integrating the latest GPU and rendering techniques, so it is by far one of the best fastest, well-done engines I've used. It leverages knowledge and technology used by their main application (STK) which is used by many people for high-resolution astronomical calculations.

阅读全文

相关推荐

最新文章