**简体中文 | [English](#Introduction)**
# 简介
osg的gis插件,能够读取、显示3dmax导出的具有Pbr材质的fbx文件、导出gltf/glb文件、导出b3dm文件、读取/导出ktx2格式图片、读取/导出webp格式图片。
同时提供了如下子工具:
- `b3dm转glb`
- `3D模型转3dtiles`
- `...`
## osgdb_fbx
在osg的fbx的插件的基础上,参考了[FBX2glTF](https://github.com/facebookincubator/FBX2glTF)项目,使得能够读取3dmax导出的带有Pbr材质的FBX文件,并能在osg中加载。
## osgdb_gltf
支持导出gltf/glb,暂不支持读取。在osgEarth的gltf的插件基础上,增加了纹理压缩和顶点压缩功能,支持webp、ktx2格式纹理;使用draco对顶点、法线、纹理坐标进行压缩;同时支持对顶点绑定batchId。
## osgdb_b3dm
支持导出b3dm,暂不支持读取。b3dm插件具有gltf插件的所有功能,同时能够导出UserData中的属性到b3dm中。
## osgdb_webp
和osgEarth的webp插件一样。
## osgdb_ktx
在王锐大神的[osgVerse](https://github.com/xarray/osgverse)的ktx插件基础上进行了小改动,支持导出ktx2格式的纹理图片。
# 工具简介
## b3dm2glb
将b3dm文件转换为glb文件。
### 用法说明
#### 命令行格式
`b3dm2glb.exe -i <path> -o <path>`
#### 示例命令
`b3dm2glb.exe -i D:\test.b3dm -o D:\output.glb`
## model23dtiles
将3D模型转换为3dtiles,支持四叉树和八叉树结构的3dtiles,支持webp/ktx2纹理压缩和draco压缩。
这里的3D模型指的是fbx、obj、3ds等osg能够读取的三维模型,但是不包括倾斜摄影模型,倾斜摄影模型目前建议使用[https://github.com/fanvanzh/3dtiles](https://github.com/fanvanzh/3dtiles)。
### 用法说明
#### 命令行格式
``model23dtiles -i <path> -tf <jpg/png/webp/ktx2> -vf <draco/none> -t <quad/oc> -max <Number> -ratio <Number> -o <DIR> -lat <Number> -lng <Number> -height <Number>``
#### 示例命令
```sh
model23dtiles.exe -i D:\test.fbx -o D:\output -lat 30 -lng 116 -height 100
# 输出使用ktx2进行纹理压缩和使用draco进行顶点压缩的3dtiles
model23dtiles.exe -i D:\test.fbx -tf ktx2 -vf draco -o D:\output -lat 30 -lng 116 -height 100
# 设置3dtiles的每个节点所包含的三角面的最大数量为10万
model23dtiles.exe -i D:\test.fbx -max 100000 -o D:\output -lat 30 -lng 116 -height 100
# 设置3dtiles的中间节点的简化比例为0.6
model23dtiles.exe -i D:\test.fbx -ratio 0.6 -o D:\output -lat 30 -lng 116 -height 100
# 设置3dtiles的树结构为四叉树
model23dtiles.exe -i D:\test.fbx -t quad -o D:\output -lat 30 -lng 116 -height 100
```
#### 参数说明
`-tf` 纹理压缩格式,可选值有:png、jpg、webp、ktx2,默认值为:png。
`-vf` 顶点压缩格式,可选的值有:draco、none,默认值为:none,即不对顶点进行压缩。未来会支持meshopt压缩。
`-t` 3dtiles的组织结构,可以为四叉树或八叉树,可选的值有:quad、oc,默认值为:quad。
`-max` b3dm文件所包含的三角面的最大数量,默认值为:40000。
`-ratio` 3dtiles中间节点的简化比例,默认值为:0.5。
`-lat` 纬度
`-lng` 经度
`-height` 高度
# 缺陷
1、当前不支持b3dm、gltf/glb文件的导入;
2、webp插件无法导出灰度图;
3、ktx插件无法读取部分ktx 2.0版本的图片;
4、b3dm、gltf/glb文件暂不支持meshopt格式的顶点压缩;
5、model23tiles工具暂时不支持对小块纹理的合并优化处理。
...
# 未来计划支持
1、读取b3dm、gltf/glb;
2、增加对meshopt顶点压缩的支持;
3、增加model23tiles工具对小块纹理的合并优化处理。
...
**[简体中文](#简介) | English**
# Introduction
OSG's GIS plugin can read and display fbx files with Pbr material exported by 3dmax, export gltf/glb files, export b3dm files, read/export ktx2 format images, and read/export webp format images.
At the same time, the following sub tools are provided:
- `convert b3dm to glb`
- `convert 3D model to 3dtiles`
- `...`
## osgdb_fbx
Based on the FBX2glTF plugin of OSG's FBX, reference was made to [FBX2glTF](https://github.com/facebookincubator/FBX2glTF) project to enable reading of FBX files with Pbr material exported from 3dmax and loading in OSG.
## osgdb_gltf
Supports exporting gltf/glb, but currently does not support reading. On the basis of osgEarth's gltf plugin, added texture compression and vertex compression functions, supporting webp and ktx2 format textures; Use Draco to compress vertices, normals, and texture coordinates; Simultaneously supports binding batchId to vertices.
## osgdb_b3dm
Supports exporting b3dm, but currently does not support reading. The b3DM plugin has all the functions of the gltf plugin, and can also export attributes from UserData to b3DM.
## osgdb_webp
Same as the webp plugin of osgEarth.
## osgdb_ktx
In xarray's [osgVerse](https://github.com/xarray/osgverse) the project has made minor changes to the ktx plugin, which supports exporting texture images in ktx2 format.
# Tools Introduction
## b3dm2glb
Convert b3dm files to glb.
### Usage
#### Command Line
`b3dm2glb.exe -i <path> -o <path>`
#### Examples
`b3dm2glb.exe -i D:\test.b3dm -o D:\output.glb`
## model23dtiles
Convert the 3D model into 3D tiles, support quadtree and octree structured 3D tiles, support webp/ktx2 texture compression and draco compression.
The 3D model here refers to 3D models that can be read by OSG such as FBX, OBJ, and 3ds, but does not include oblique photography models. Currently, it is recommended to use oblique photography models [https://github.com/fanvanzh/3dtiles](https://github.com/fanvanzh/3dtiles).
### Usage
#### Command Line
`model23dtiles -i <path> -tf <jpg/png/webp/ktx2> -vf <draco/none> -t <quad/oc> -max <Number> -ratio <Number> -o <DIR> -lat <Number> -lng <Number> -height <Number>`
#### Examples
```sh
# output 3dtiles by texture format ktx2 and vertex format draco
model23dtiles.exe -i D:\test.fbx -tf ktx2 -vf draco -o D:\output -lat 30 -lng 116 -height 100
# The maximum number of triangular faces for each b3dm node of the output 3dtiles is 10w
model23dtiles.exe -i D:\test.fbx -max 100000 -o D:\output -lat 30 -lng 116 -height 100
# Set the simplification ratio of the intermediate nodes of the output 3dtiles to 0.6
model23dtiles.exe -i D:\test.fbx -ratio 0.6 -o D:\output -lat 30 -lng 116 -height 100
# Set the tree structure of 3dtiles to a quadtree
model23dtiles.exe -i D:\test.fbx -t quad -o D:\output -lat 30 -lng 116 -height 100
```
#### Parameters
`-tf` texture format,option values are png、jpg、webp、ktx2,default value is png.
`-vf` vertex format,option values are draco、none,default is none.
`-t` tree format,option values are quad、oc,default is quad.
`-max` the maximum number of triangles contained in the b3dm node.default value is 40000.
`-ratio` Simplified ratio of intermediate nodes.default is 0.5.
`-lat` latitude
`-lng` longitude
`-height` height
# Defect
1. Currently, importing b3dm and gltf/glb files is not supported;
2. The webp plugin cannot export grayscale images;
3. The ktx plugin cannot read some images from the ktx 2.0 version;
4. The b3dm and gltf/glb files currently do not support vertex compression in the mesh format;
5. The model23tiles tool currently does not support merging and optimizing small textures.
...
# TO DO
1. Read b3mm, gltf/glb;
2. Increase support for mesh vertex compression;
3. Add the model23tiles tool to merge and optimize small textures.
...
# About author
这是作者的第一个开源项目,非常感谢[osg](https://github.com/openscenegraph/OpenSceneGraph)、[osgEarth](https://github.com/gwaldron/osgearth)、[osgVerse](https://github.com/xarray/osgverse)、[Fbx2glTF](https://github.com/facebookincubator/FBX2glTF)、[3dtiles](https://github.com/fanvanzh/3dtiles)等开源项目对我的启发和帮助。
没有合适的资源?快使用搜索试试~ 我知道了~
osg的gis插件,能够读取、显示3dmax导出的具有Pbr材质的fbx文件
共491个文件
h:359个
cpp:38个
c:30个
需积分: 0 6 下载量 102 浏览量
2023-10-09
11:48:33
上传
评论 1
收藏 270KB ZIP 举报
温馨提示
osg的gis插件,能够读取、显示3dmax导出的具有Pbr材质的fbx文件、导出gltf/glb文件、导出b3dm文件、读取/导出ktx2格式图片、读取/导出webp格式图片。 同时提供了如下子工具: b3dm转glb 3D模型转3dtiles ... osgdb_fbx 在osg的fbx的插件的基础上,参考了FBX2glTF项目,使得能够读取3dmax导出的带有Pbr材质的FBX文件,并能在osg中加载。 osgdb_gltf 支持导出gltf/glb,暂不支持读取。在osgEarth的gltf的插件基础上,增加了纹理压缩和顶点压缩功能,支持webp、ktx2格式纹理;使用draco对顶点、法线、纹理坐标进行压缩;同时支持对顶点绑定batchId。 osgdb_b3dm 支持导出b3dm,暂不支持读取。b3dm插件具有gltf插件的所有功能,同时能够导出UserData中的属性到b3dm中。 osgdb_webp 和osgEarth的webp插件一样。 osgdb_ktx 在王锐大神的osgVerse的ktx插件基础上进行了小改动,支持导出ktx2格式的纹理图片。
资源推荐
资源详情
资源评论
收起资源包目录
osg的gis插件,能够读取、显示3dmax导出的具有Pbr材质的fbx文件 (491个子文件)
build.bat 59B
zstd.c 132B
zstddeclib.c 131B
filestream.c 130B
glloader.c 130B
vkformat_str.c 130B
vkloader.c 130B
writer1.c 130B
texture1.c 130B
memstream.c 130B
texture.c 130B
texture2.c 130B
info.c 130B
createdfd.c 130B
endswap.c 130B
interpretdfd.c 130B
writer2.c 130B
hashlist.c 130B
swap.c 129B
gl_funcs.c 129B
vk_funcs.c 129B
vkformat_check.c 129B
strings.c 129B
printdfd.c 129B
interpretdfdtest.c 129B
colourspaces.c 129B
queries.c 129B
createdfdtest.c 129B
checkheader.c 129B
vk2dfd.c 128B
dfd2vk.c 128B
fbxRMesh.cpp 58KB
LoadTextureKTX.cpp 27KB
fbxMaterialToOsgStateSet.cpp 25KB
WriterNodeVisitor.cpp 25KB
ReaderWriterFBX.cpp 24KB
ReaderWriterB3DM.cpp 22KB
fbxRNode.cpp 21KB
fbxRAnimation.cpp 18KB
main.cpp 17KB
ReaderWriterWebP.cpp 9KB
ReaderWriterKTX.cpp 6KB
WriterCompareTriangle.cpp 5KB
main.cpp 4KB
main.cpp 4KB
ReaderWriterGLTF.cpp 4KB
fbxRLight.cpp 3KB
fbxRCamera.cpp 1KB
basisu_uastc_enc.cpp 131B
basisu_frontend.cpp 131B
basisu_transcoder.cpp 131B
basis_encode.cpp 130B
basisu_resampler.cpp 130B
basisu_bc7enc.cpp 130B
basisu_pvrtc1_4.cpp 130B
basisu_etc.cpp 130B
jpgd.cpp 130B
basisu_opencl.cpp 130B
basisu_backend.cpp 130B
basisu_ssim.cpp 130B
basisu_basis_file.cpp 130B
pvpngreader.cpp 130B
basisu_comp.cpp 130B
basisu_enc.cpp 130B
basisu_gpu_texture.cpp 130B
astc_encode.cpp 130B
basis_transcode.cpp 130B
basisu_kernels_sse.cpp 129B
basisu_resample_filters.cpp 129B
etcdec.cxx 130B
etcunpack.cxx 129B
libfbxsdk.dll 133B
libfbxsdk.dll 133B
.editorconfig 354B
.gitattributes 91B
.gitignore 77B
GltfUtils.h 39KB
OsgToGltf.h 21KB
TreeBuilder.h 11KB
WriterNodeVisitor.h 10KB
Output3DTiles.h 7KB
QuadTreeBuilder.h 6KB
OctreeBuilder.h 4KB
fbxMaterialToOsgStateSet.h 3KB
GltfPbrMetallicRoughnessMaterial.h 3KB
fbxReader.h 2KB
ReaderWriterWebP.h 2KB
ReaderWriterFBX.h 2KB
ReaderWriterKTX.h 2KB
WriterCompareTriangle.h 2KB
GltfPbrSpecularGlossinessMaterial.h 1KB
ReaderWriterB3DM.h 1KB
ReaderWriterGLTF.h 1KB
GltfMaterial.h 1KB
LoadTextureKTX.h 576B
fbxlayer.h 131B
zstd.h 131B
basisu_miniz.h 131B
basisu_ocl_kernels.h 131B
gl_format.h 131B
共 491 条
- 1
- 2
- 3
- 4
- 5
资源评论
你的月亮和太阳
- 粉丝: 211
- 资源: 91
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功