OSG提供了很多的插件用来读取常用的数据格式,包括图像和模型等等。下面对插件的使用进行简单的描述。
当使用osgDB读取文件时,会自动根据文件的扩展名来到插件目录中寻找相应的插件,来实现。
比如:
> osgviewer cow.osg
调用了osgdb_osg插件去读*.osg文件。
> osgviewer model.flt
调用了osgdb_flt插件去读*.flt文件。
如果使用代码我们是使用如下代码读取模型:
#include
osg::ref_ptr
osg::ref_ptr
下面是保存模型:
#include
osgDB::writeNodeFile(*node, "saved.osg");
使用OSG插件是用户无需过分关心的事情,机制已经建立,当读某文件时,它会自己去寻找相应的插件,当你需要读定特文件的时候,就要确认这个文件的插件是否存在,如果不存在如何编译。
列举一些OSG支持的模型类型
Plugin name
Description
Extensions
Read
Write
Notes
3dc
3DC point cloud reader
.3dc .asc
yes
no
3ds
3D Studio
.3ds
yes
yes
ac3d
AC3D modeler
.ac
yes
yes
bsp
Quake3 BSP
.bsp
yes
no
dae
COLLADA 1.4.x
.dae
yes
yes
Requires Collada DOM library. See Collada plugin details
dw
Design Workshop Database
.dw
yes
no
dxf
Autodesk DXF Reader
.dxf
yes
no
fbx
Autodesk FBX
.fbx
yes
yes
Requires Autodesk's FBX SDK. If using OpenSceneGraph 2.8.x you'll need version 2010.2 of the SDK. Otherwise checkReaderWriterFBX.h to see which version of the SDK is required (currently 2012.1). If you have problems loading an FBX model please check that it works in Autodesk's FBX QuickTime Viewer first to see if the model was correctly exported.
geo
Geo
.gem .geo
yes
no
Inventor
Open Inventor format
.iv .wrl
yes
yes
.wrl Only VRML1.0
ive
Native osg binary
.ive
yes
yes
May also read/write (internal) images
logo
Logo database
.logo
yes
no
lwo
Lightwave Object
.lwo .lw .geo
yes
no
lws
Lightwave Scene
.lws
yes
no
md2
Quake MD2
.md2
yes
no
obj
Alias Wavefront
.obj
yes
yes
Also writes materials to .mtl
ogr
.ogr
yes
no
Openflight
Multigen Openflight
.flt
yes
yes
See OpenFlight plugin details
osg
Native osg ascii
.osg
yes
yes
Currently the writer supports OVERRIDE/PROTECTED flags in "StateSets" only for "Modes" and not for "StateAttributes".
pfb
Performer loader
All extensions supported by Performer loaders
yes
no
Requires Performer library
shp
ESRI Shapefile
.shp
yes
no
stl
Stereolithography file
.stl .sta
yes
no
vrml
VRML2
.wrl
yes
no
Requires OpenVRML library
x
DirectX 3D model
.x
yes
no
图片和视频
Plugin name
Description
Extensions
Read
Write
Notes
bmp
Window bitmap
.bmp
yes
yes
dds
DirectX image format
.dds
yes
yes
gdal
GDAL image loaders
All extensions supported by GDAL
yes
no
gif
GIF Image
.gif
yes
no
hdr
High Dynamic Range image
.hdr
yes
yes
jp2
.jps .jpc
yes
yes
jpeg
Jpeg image
.jpeg .jpg
yes
yes
Openflight
Image attribute files
.attr
yes
yes
Stores additional attributes that are not stored in .rgb files
pic
PIC image
.pic
yes
no
png
Portable Network Graphics
.png
yes
yes
pnm
.pnm. ppm .pgm .pbm
yes
yes
rgb
.rgb .sgi .rgba .int .inta .bw
yes
yes
tga
Targa image
.tga
yes
no
tiff
Tiff image
.tiff .tif
yes
yes
quicktime
Quicktime movie loader
.mov .mpg .mpv .mp4 .m4v .dc .avi .flv .swf
yes
yes
Quicktime image loader
rgb. rgba .jpg .jpeg .tif .tiff .gif .png .pict .pct .tga .psd
yes
yes
xine
Xine image stream
.mpg .mpv .db .flv .mov .avi .wmv. xine
yes
no
压缩以及网络传输类型
Plugin name
Description
Extensions
Read
Write
Notes
curl
HTTP Protocol Model
.curl
yes
no
osga
txp
Terrapage file
.txp
yes
no
Produced by Terra Vista terrain building tools
net
zip
tgz
osgtgz
字体类型
Plugin name
Description
Extensions
Read
Write
Notes
freetype
Freetype font loader
.ttf .ttc .pfb .pfa .cid .cff .cef .fon .fnt
yes
no
txf
GLU texture font
.txf
yes
no
加载时可以显式加的矩阵操作
Plugin name
Description
Extensions
Read
Write
Notes
rot
Rotates to the loaded model
.rot
scale
Scales the loaded model
.scale
trans
Translates the loaded model
.trans
normals
Shows normals of the loaded model
.normals
手机扫一扫
移动阅读更方便
你可能感兴趣的文章