三维渲染引擎专题--各种数格式总结

瓦片图层数据

OpenStreetMapImagery(免费开源地图服务,背后有某大公司支持)

BingMapsImagery(微软Bing Maps Imagery REST API)

GoogleEarthImagery (谷歌Google Earth Imagery API)

ArcGisMapServerImageryProvider(ArcGIS MapServer)

矢量图层数据

GeoJSON

TopoJSON

KML

GML

CZML

高程图层数据

ArcGisImageServerTerrain

CesiumTerrain

VRTheWorldTerrain

模型数据

gltf: 互联网或移动设备上的3D格式

obj: Alias|Wavefront 目前被autodesk收购

3DS: 3D Max

DXF: Autodesk Autocad

SLP: ProE

STL: Stereo-Lithorgraphy Format

VRML:

collada:

...

-------------------------------collada介绍-----------------------------------------------------------------------------------

转自: http://www.cnblogs.com/mazhenyu/archive/2011/01/13/1934249.html

我们提到了Google Earth/Google Maps 中用于三维建筑模型的DAE文件,DAE是英文Digital Asset Exchange的首字母缩写,意思为数据资源交换。DAE文件并非 Google为 Google Earth、Google Maps创立的文件格式,它是COLLADA的模型文件。

把三维地标文件后缀由.kmz改成.zip,然后解压缩,一般会有3个图标,如下所述。

images文件夹:放置模型的背景和纹理画片 (其中有一个或多个文件)。

models文件夹:放置描述模型的DAE文件 (其中有一个或多个文件)。

doc.kml文件:KML文件主要起到调用DAE文件的作用,并描述其在 Google Earth上的位置、比例等属性。

COLLADA是由索尼 (Sony)提出的基于XML的一个开放的、免费的数据交换标准,通过XMLSchema的技术展现三维数字模型,正因为 COLLADA基于XML技术,所以这个标准有着十分优秀的移植性,居于不同平台的实时引擎只要支持这个标准,就可以实时表现三维模型。

COLLADA标准主要应用于娱乐领域的交互式应用。从某种意义上来讲,COLLADA的目标就是把每一个使用者都当成一个 Player,为其展示三维全景模型,与其交流互动。目前支持 COLLADA标准的应用平台很多,不仅应用在电脑游戏中,而且在Web 程序、智能手机、Sony的PS3上都有它的身影。这些应用程序中有我们常见的Google Eallh、SketchUp,有老牌三维建模软件3ds max与Maya,还有网页里的Flux Player插件等。最新的 COLLADA版本是 1.4.1,在著名的 Khronos
Group 的官方网站上,有关于COLLADA 的介绍 (网址为http://www.khronos.org/collada/),读者可以自行查看在此不再赘述。

DAE文件其实是一个文本文件,其中的内容是基于XML格式的三维模型的 COLLADA描述,实质上就是一个XML文档,所以也可以将*.dae的后缀名称改为*.xml,或者根据不同的应用程序需要将其改成其他任何后缀名称。从理论上讲,所有可以按照COLLADA标准生成XML文件的工具都可以生成DAE文件,最终保存成.dae文件即可,而并不仅仅是 Google的建模工具SketchUp才能够建立 DAE文件,高级用户甚至可以使用文本编辑器手工编制一个模型文件。

但是 Google Earth 中使用 DAE 模型有一些限制,COLLADA 的一些特性无法适用于Google Earth的平台之上,比如动画和过于复杂的图形,具体如下所述:

KML只支持三角形 (Triangles)和线条 (Lines)作为图元。

其中三角形的数日最多不超过21 845个。

KML不支持动画和皮肤特效。

以上 3个注意点可以在http://code.google.com/apis/Iiml/documentation/kml-tags  21.html#model 中查到相关说明。

本文介绍的相关技术的网络资源如下。

COLLADA的介绍(英文PDF文档):http://www.khronos.org/files/collada一spec_1_4.pdf。

COLLADA的Schema文档:http://www.khronos.org/files/collada_schema一1-4。

COLLADA的教程(英文):http://collada.org/mediawiki/index.php/Getting一started_with_COLLADA。

COLLADA的维客 (英文):http://collada.org/mediawil(i/index.phpiMain-Page。

时间: 2024-08-19 07:51:47

三维渲染引擎专题--各种数格式总结的相关文章

三维渲染引擎设计与时间(一)

一.初始osg 三维渲染引擎:为了实现三维场景图形的结构管理和绘制而提供的一系列API的集合.包括构建层和交互层. Crystal Space.Java3D.Unreal-- osg库:构件场景图形的场景图形节点类.用作向量和矩阵运算的类:可绘制体和几何体类:用于描述和管理渲染状态的类:以及图形程序所需的典型功能类. osgDB库:用于2D和3D文件读写的插件类注册器,以及用于访问和读写这些插件的特定功能类:数据的动态分页调度机制 osgUtil库:实用工具库.包括场景图形数据统计和优化工具.渲

三维渲染引擎设计与实践(六)

6.2纹理与纹理属性 6.2.1纹理的实现方法 纹理是一个数组的概念,其中每一个数据(RGB颜色以及Alpha值,或者其他系统及用户定义的类型)称作一个纹素(texel). 每一个映射通道称为一个纹理单元. 对于场景中的节点或几何体应用纹理属性时,通常需要预先指定每个顶点的纹理坐标,以便将图像正确贴至物体上.只有几何体可以设置纹理坐标,因此在设置节点的纹理之前,必须得到该节点子树中所有的几何体对象并设置他们的纹理坐标. geom->setCoordArray() Texture作为各种纹理表达方

三维渲染引擎之——VTK

作为医学领域使用广泛的渲染类库,VTK本身也是基于OpenGL作为底层开发的,其渲染模式与另一个三维视觉类库OSG类似,其实本身这样的三维图形库基本都是来源于对OpenGL的封装. 通过VTK将科学实验数据如建筑学.气象学.医学.生物学或者航空航天学,对体.面.光源等等的逼真渲染,从而帮助人们理解那些采取错综复杂而又往往规模庞大的数字呈现形式的科学概念或结果.特别是医学方面,有时候我们需要根据仪器枯燥的数据抽象出一个具体的.可视化强的三维模型,以便于医生分析人体各个器官的细节,VTK真是基于这种

三维渲染引擎设计与实践(八)

8.2三维人机交互工具 osg实现了三维场景的漫游以及场景中三维对象的操纵. 8.2.1漫游器 osgGA::MatrixManipulator类 漫游器也是事件处理器GUIEventHandler的一种. viewer使用setCameraManipulator()函数来设置一个针对此视景器的漫游器. 8.2.2拖拽器 为要操纵的物体设置一个MatrixTransform父节点,通过改变这个父节点的变换矩阵的内容,进而改变作为操控对象的子节点的表现形式. osgManipulator库中拖拽器

三维渲染引擎之——OSG

OpenSceneGraph(简称OSG)使用OpenGL技术开发,是一套基于C++平台的应用程序接口(API),它让程序员能够更加快速.便捷地创建高性能.跨平台的交互式图形程序.它作为中间件(middleware)为应用软件提供了各种高级渲染特性,IO,以及空间结构组织函数:而更低层次的OpenGL 硬件抽象层(HAL)实现了底层硬件显示的驱动.——来自百科 OSG封装了OpenGL的渲染方式,大大简化了图形绘制.渲染方式,优化了渲染性能,其特点总结如下: 性能 支持视图投影剔除(view f

三维渲染引擎设计与实践(四)

五.绘制几何对象和文字 帧缓存(Frame Buffer)为用户与显示设备交互的一个接口,将显示的画面抽象成一块可以进行读写操作的内存区域. 帧缓存的每一个存储单元都对应显示屏上的一个像素.整个缓存空间对应当前屏幕上渲染的一帧. 5.1几何元素的储存 顶点属性:空间坐标值.法线.颜色坐标.纹理坐标.雾坐标. 点的法线是在使用Phone或Gouraud模型时计算光照使用. 立即模式(immediate mode)      顶点数组(vertex array)       显示列表(display

三维渲染引擎设计与实践(三)

4.3.2 空间变换节点 世界坐标系是系统的绝对坐标系,在没有建立用户坐标系之前,所有的坐标都是以该坐标的原点来确定各自的位置的. OSG中的坐标系是X正向向右,Y轴正向向里,Z轴正向向上 OpenGL的坐标系是X正向向右,Y轴正向向上,Z轴正向向外 Transform公有继承Group类,AutoTransform公有继承Transform SRT   比例 scale 旋转rotate 平移transfom 4.3.3开关节点Switch 作用是:在场景运行的某一时刻,它的某些子节点被隐藏和

三维渲染引擎设计与实践(二)

4.3重要节点的功能实现 4.3.1空间变换节点 OpenGL中变换矩阵堆栈(Matrix Stacks) opengl中对象的控件变换是通过对模型视点(model-view)矩阵堆栈的操作完成的:从初始的全局世界坐标系开始,每当我们在某个空间坐标系下绘制完成一个物体以后,即记录当前的位置.姿态等变换信息(入栈),然后在变换后的坐标系下开始新的绘制,完成后返回到原先的变换位置(出栈),最终返回到最先的全局坐标系中. 方法一 直接设置空间变换矩阵的值:方法二  直接设置变换的平移.旋转和缩放值 S

OSG(OpenSceneGraphic) 渲染引擎架构--整体认识

本文参考<<osg最长一帧>>, <<OpenSceneGraph三维渲染引擎编程指南>>, <<OpenSceneGraph三维渲染引擎设计与实践>> 整理而来,  感谢大牛们的精彩著作. 相比Ogre来说, Ogre代码很规范, 只是入门资料较少,如果能在学习之前能总体上对架构有个印象就好了, 免得盲人摸象啊, 不过,还好有OSG. 场景相关: Node, Geode, Group, Transform, LOD, Camera,