osgPlugins相关
阅读原文时间:2021年04月21日阅读:1

OSG提供了很多的插件用来读取常用的数据格式,包括图像和模型等等。下面对插件的使用进行简单的描述。

使用插件读取和保存数据

当使用osgDB读取文件时,会自动根据文件的扩展名来到插件目录中寻找相应的插件,来实现。

比如:

> osgviewer cow.osg

调用了osgdb_osg插件去读*.osg文件。 

> osgviewer model.flt

调用了osgdb_flt插件去读*.flt文件。 

如果使用代码我们是使用如下代码读取模型:

#include
osg::ref_ptr node = osgDB::readNodeFile("cow.osg");
osg::ref_ptr image = osgDB::readImageFile("lz.rgb");

下面是保存模型:

#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

http://www.inivis.com/

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

手机扫一扫

移动阅读更方便

阿里云服务器
腾讯云服务器
七牛云服务器

你可能感兴趣的文章