The fastest tools for 3dtiles convert in the world!

Overview

English | 简体中文

Introduction

glTF status Action status

Tools for 3D-Tiles convertion.

This is a RUST language project with cpp lib to handle osgb data.

Tools provided are as follow:

  • Osgb(OpenSceneGraph Binary) to 3D-Tiles: convert huge of osgb file to 3D-Tiles.

  • Esri Shapefile to 3D-Tiles: convert shapefile to 3D-Tiles.

  • Fbx to 3D-Tiles: convert fbx file to 3D-Tiles, include auto_lod\texture convertion etc.

You may intereted in:

Usage

① Command Line

3dtile.exe [FLAGS] [OPTIONS] --format <FORMAT> --input <PATH> --output <DIR>

② Examples

# from osgb dataset
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"offset\": 0}"
# use pbr-texture
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"pbr\": true}"

# from single shp file
3dtile.exe -f shape -i E:\Data\aa.shp -o E:\Data\aa --height height

# from single osgb file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.osgb -o E:\Data\TT\001.glb

# from single obj file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.obj -o E:\Data\TT\001.glb

# convert single b3dm file to glb file
3dtile.exe -f b3dm -i E:\Data\aa.b3dm -o E:\Data\aa.glb

③ Paramters

To Translate.

Data Requirements & Announcement

To Translate.


English | 简体中文

简介

3D-Tile 转换工具集,高效快速的 3D-Tiles 生产工具,极度节省你的处理时间。

这是一个混合了 c 和 c++ 库(主要是 osgb)的 Rust 项目。

提供了如下的子工具:

  • Osgb(OpenSceneGraph Binary)3D-Tiles

  • Esri Shapefile3D-Tiles

  • Fbx3D-Tiles

  • ...

用法说明

① 命令行格式

3dtile.exe [FLAGS] [OPTIONS] --format <FORMAT> --input <PATH> --output <DIR>

② 示例命令

# from osgb dataset
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"offset\": 0}"
# use pbr-texture
3dtile.exe -f osgb -i E:\osgb_path -o E:\out_path -c "{\"pbr\": true}"

# from single shp file
3dtile.exe -f shape -i E:\Data\aa.shp -o E:\Data\aa --height height

# from single osgb file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.osgb -o E:\Data\TT\001.glb

# from single obj file to glb file
3dtile.exe -f gltf -i E:\Data\TT\001.obj -o E:\Data\TT\001.glb

# convert single b3dm file to glb file
3dtile.exe -f b3dm -i E:\Data\aa.b3dm -o E:\Data\aa.glb

③ 参数说明

  • -c, --config <JSON> 在命令行传入 json 配置的字符串,json 内容为选配,可部分实现

    json 示例:

    {
      "x": 120,
      "y": 30,
      "offset": 0 , // 模型最低面地面距离
      "max_lvl" : 20 // 处理切片模型到20级停止
    }
  • -f, --format <FORMAT> 输入数据格式。

    FORMAT 可选:osgb, shape, gltf, b3dm

    osgb 为倾斜摄影格式数据, shape 为 Shapefile 面数据, gltf 为单一通用模型转gltf, b3dm 为单个3dtile二进制数据转gltf

  • -i, --input <PATH> 输入数据的目录,osgb数据截止到 <DIR>/Data 目录的上一级,其他格式具体到文件名。

  • -o, --output <DIR> 输出目录。输出的数据文件位于 <DIR>/Data 目录。

  • --height 高度字段。指定shapefile中的高度属性字段,此项为转换 shp 时的必须参数。

数据要求及说明

① 倾斜摄影数据

倾斜摄影数据仅支持 smart3d 格式的 osgb 组织方式:

  • 数据目录必须有一个 “Data” 目录的总入口;
  • “Data” 目录同级放置一个 metadata.xml 文件用来记录模型的位置信息;
  • 每个瓦片目录下,必须有个和目录名同名的 osgb 文件,否则无法识别根节点;

正确的目录结构示意:

- Your-data-folder
  ├ metadata.xml
  └ Data\Tile_000_000\Tile_000_000.osgb

② Shapefile

目前仅支持 Shapefile 的面数据,可用于建筑物轮廓批量生成 3D-Tiles.

Shapefile 中需要有字段来表示高度信息。

③ 通用模型转 glTF:

支持 osg、osgb、obj、fbx、3ds 等单一通用模型数据转为 gltf、glb 格式。

转出格式为 2.0 的gltf,可在以下网址验证查看: https://pissang.github.io/clay-viewer/editor/

④ B3dm 单文件转 glb

支持将 b3dm 单个文件转成 glb 格式,便于调试程序和测试数据


Who use / Who star

  • NASA JPL (gkjohnson)

  • AnalyticalGraphicsInc (kring)

  • NVIDIA (Vinjn Zhang)

  • Ubisoft (Cmdu76)

  • Baidu (hinikai)

  • Esri (suny323)

  • Geostar (hekaikai\shitao1988)

  • MapTalks (brucin\fuzhenn\axmand)

  • Alibaba (luxueyan)

  • Tencent (NichoZhang)

  • Data Cloud Co- Ltd (liujin834)

  • Tsinghua University (DeZhao-Zhang)

  • Peking University (CHRIS-WiNG\Weizhen-Fang)

  • Wuhan University (chenguanzhou)

  • Guangzhou University (LreeLenn)

  • Hopkins University (AndrewAnnex)

  • 中国铁道科学设计研究院

  • 上海华东设计研究院

  • 江苏省测绘研究所

  • 宁波市测绘设计研究院

  • 合肥火星科技有限公司 (muyao1987)

  • 北京西部数据科技 (vtxf\elfc2000)

About author

作者不是专业搞三维GIS的,因偶尔有个需求要展示 3D-Tiles,一时找不到工具,就写了个轮子,代码多有纰漏,仅供参考。

Comments
  • 编译报错:error: linking with cc failed: exit status: 1,及运行报段错误

    编译报错:error: linking with cc failed: exit status: 1,及运行报段错误

    OS: Ubuntu 20.04

    Compiling autocfg v1.0.1 Compiling cfg-if v1.0.0 Compiling libc v0.2.101 Compiling proc-macro2 v1.0.29 Compiling crossbeam-utils v0.8.5 Compiling unicode-xid v0.2.2 Compiling lazy_static v1.4.0 Compiling syn v1.0.76 Compiling log v0.4.14 Compiling crossbeam-epoch v0.9.5 Compiling serde_derive v1.0.130 Compiling memchr v2.4.1 Compiling serde v1.0.130 Compiling scopeguard v1.1.0 Compiling rayon-core v1.9.1 Compiling ryu v1.0.5 Compiling cc v1.0.70 Compiling unicode-width v0.1.8 Compiling quick-error v1.2.3 Compiling serde_json v1.0.67 Compiling regex-syntax v0.6.25 Compiling bitflags v0.7.0 Compiling ansi_term v0.11.0 Compiling termcolor v1.1.2 Compiling bitflags v1.3.2 Compiling either v1.6.1 Compiling itoa v0.4.8 Compiling vec_map v0.8.2 Compiling strsim v0.8.0 Compiling byteorder v1.4.3 Compiling memoffset v0.6.4 Compiling num-traits v0.2.14 Compiling num-integer v0.1.44 Compiling rayon v1.5.1 Compiling textwrap v0.11.0 Compiling humantime v1.3.0 Compiling xml-rs v0.3.6 Compiling _3dtile v0.1.0 (/home/gitee/cesium-3dtiles) Compiling crossbeam-channel v0.5.1 Compiling num_cpus v1.13.0 Compiling atty v0.2.14 Compiling time v0.1.44 Compiling log v0.3.9 Compiling quote v1.0.9 Compiling aho-corasick v0.7.18 Compiling clap v2.33.3 Compiling regex v1.5.4 Compiling crossbeam-deque v0.8.1 Compiling chrono v0.4.19 Compiling env_logger v0.5.13 Compiling serde-xml-rs v0.2.1 error: linking with cc failed: exit status: 1 | = note: "cc" "-m64" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.0.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.1.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.10.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.11.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.12.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.13.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.14.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.15.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.2.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.3.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.4.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.5.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.6.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.7.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.8.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969._3dtile.443af682-cgu.9.rcgu.o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969.mrrx6k1kg0zdc6e.rcgu.o" "-Wl,--as-needed" "-L" "/home/gitee/cesium-3dtiles/target/release/deps" "-L" "/home/gitee/cesium-3dtiles/target/release/build/_3dtile-ca068789f72c3f9d/out" "-L" "./lib" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-Wl,--whole-archive" "-l_3dtile" "-Wl,--no-whole-archive" "-Wl,-Bdynamic" "-lstdc++" "-lOpenThreads" "-losg" "-losgDB" "-losgUtil" "-Wl,-Bstatic" "/home/gitee/cesium-3dtiles/target/release/deps/librayon-52cb3a3c0e292e82.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/librayon_core-dad337b77fc50d02.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libnum_cpus-52c4737fd96e6fd3.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libcrossbeam_deque-18592b73b8bf5e20.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libcrossbeam_epoch-c5737ecf247f0c9a.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libmemoffset-f34c0d3bba46bc01.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libscopeguard-ee11b6060c6151cd.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libcrossbeam_channel-5b3a74a748f0c886.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libcrossbeam_utils-1319570be1da921d.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/liblazy_static-fe3ffb0d817d13d7.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libeither-08f90d3f0d88bbf0.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libenv_logger-e81692bab1e03271.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libregex-751b91d68bf4c6ff.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libaho_corasick-9c0b81665be543b4.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libmemchr-4113b22321c15458.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libregex_syntax-09d5543a3c98c8ca.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libhumantime-84ac315a68fb5a75.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libquick_error-c542272a4b67d885.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libtermcolor-3401b792779e14d0.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libchrono-96363c0b06b71a82.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libnum_integer-d07b388554f4f8ec.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libnum_traits-dc9636ccfcd1f69e.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libtime-042b112c3efb8ac3.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libbyteorder-0d47512e2d5586a2.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libserde_xml_rs-692d3192469005f1.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/liblog-38decd37c1a8ad6b.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/liblog-6a4b013f5b0ce64e.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libcfg_if-f6a35cef654aa08d.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libxml-2e44ff2ac197ee72.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libbitflags-8bc3fd68a25a4d9b.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libserde_json-f104062cad3cf559.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libryu-62d8b453d69b1fd2.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libitoa-96aa63bddd0fae9b.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libserde-0955df65fc5ee82d.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libclap-86d60472e54c6a9a.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libvec_map-42adc355362c5416.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libtextwrap-b39d0db27731a433.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libunicode_width-3bf99c6b4d3f3e20.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libstrsim-cd375033641a485f.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libbitflags-258615ba0ce90d12.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libatty-8424f2d16397d09c.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/liblibc-08b6b7209eea639f.rlib" "/home/gitee/cesium-3dtiles/target/release/deps/libansi_term-1396373762392330.rlib" "-Wl,--start-group" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd-008055cc7d873802.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libpanic_unwind-06f01ac2578bda94.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libminiz_oxide-f9a3c3274a1835e0.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libadler-d4cbb754ee9f4daa.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libobject-95c14e1c1e3ebcc4.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libaddr2line-d489f0ca872880cc.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libgimli-75f07df0b18fea39.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libstd_detect-0c35b278736219a2.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_demangle-e530649c9a06e3c6.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libhashbrown-6b148909d375a785.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_alloc-cd15fa647f4775d1.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libunwind-74be3a703f788ba2.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcfg_if-8f2c5b445c28b2e3.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liblibc-8480e85e0be96197.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/liballoc-ac23a75f6f42004e.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/librustc_std_workspace_core-557ba8776e04d182.rlib" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcore-4beb03d03503c439.rlib" "-Wl,--end-group" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-dd7db1bec6909f24.rlib" "-Wl,-Bdynamic" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-znoexecstack" "-L" "/root/.rustup/toolchains/stable-x86_64-unknown-linux-gnu/lib/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/gitee/cesium-3dtiles/target/release/deps/_3dtile-b977ab0ee8494969" "-Wl,--gc-sections" "-pie" "-Wl,-zrelro" "-Wl,-znow" "-Wl,-O1" "-nodefaultlibs" = note: /usr/bin/ld: /home/gitee/cesium-3dtiles/target/release/build/_3dtile-ca068789f72c3f9d/out/lib_3dtile.a(osgb23dtile.o): in function get_all_tree(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&) [clone .localalias]': osgb23dtile.cpp:(.text._Z12get_all_treeRNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEE+0x2cb): undefined reference toosgDB::readNodeFiles(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >&, osgDB::Options const*)' /usr/bin/ld: /home/gitee/cesium-3dtiles/target/release/build/_3dtile-ca068789f72c3f9d/out/lib_3dtile.a(osgb23dtile.o): in function osgb2glb_buf(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >&, MeshInfo&)': osgb23dtile.cpp:(.text._Z12osgb2glb_bufNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEERS4_R8MeshInfo+0x134): undefined reference toosgDB::readNodeFiles(std::vector<std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::allocator<std::__cxx11::basic_string<char, std::char_traits, std::allocator > > >&, osgDB::Options const*)' collect2: error: ld returned 1 exit status

    = help: some extern functions couldn't be found; some native libraries may need to be installed or have their path specified = note: use the -l flag to specify native libraries to link = note: use the cargo:rustc-link-lib directive to specify the native libraries to link with Cargo (see https://doc.rust-lang.org/cargo/reference/build-scripts.html#cargorustc-link-libkindname)

    error: could not compile _3dtile due to previous error

    linux 
    opened by kagalov 17
  • 生成的瓦片效果不是太理想,这是什么原因?

    生成的瓦片效果不是太理想,这是什么原因?

    同样的osgb数据,我用你的工具生成的模型感觉精细度不是很高,我用另一个工具生成的效果比这个要好的多,不知是什么原因?模型效果见https://pan.baidu.com/s/1WJJ-d8v6qDeyvRxiYzVYsw 里面“1_”开头的就是你的工具生成的模型,“2_”开头的就是其他工具生成的,效果对比还是挺明显的。

    opened by libofei2004 14
  • 再次求问:转换出来b3dm的放大问题,跪谢~

    再次求问:转换出来b3dm的放大问题,跪谢~

    这个自带的matrix.xlsx很好用,可以在里面调整位置和高度,但是对应的长度和宽度,我试着调整了,发现在调整这两个属性之后并没有什么变化, 第一个问题问下这两个属性是做什么用的? 第二个问题,如果我想放大模型应该怎么做?是在osgb转换到b3dm的过程中入手 还是在转换完成之后再做调整?如果是转换完成了之后,我应该怎么做? 大大之前说cesium上的矩阵缩放,我试着在网上找了,没有看到对应的实例,不知道如何操作。真心求问模型如何放大。提前拜谢~ image

    opened by simonasdmd 11
  • 如何转一个threejs支持的gltf格式

    如何转一个threejs支持的gltf格式

    您好,使用您提供的方法,转出gltf2.0的extensions为KHR_techniques_webgl,只能供cesium使用,请问能否支持three.js的gltfloader,比如下列之一: KHR_draco_mesh_compression KHR_materials_pbrSpecularGlossiness KHR_materials_unlit KHR_mesh_quantization KHR_lights_punctual KHR_texture_transform MSFT_texture_dds。

    opened by longwind91 10
  • fatal error: osg/MatrixTemplate: No such file or directory

    fatal error: osg/MatrixTemplate: No such file or directory

    系统:Linux version 5.4.0-77-generic ([email protected]) (gcc version 9.3.0 (Ubuntu 9.3.0-17ubuntu1~20.04)) #86-Ubuntu SMP Thu Jun 17 02:35:03 UTC 2021 错误: Compiling xml-rs v0.3.6 The following warnings were emitted during compilation:

    warning: In file included from ./src/osg/osg/Shader:25, warning: from ./src/osg/osg/StateAttribute:20, warning: from ./src/osg/osg/Material:18, warning: from ./src/shp23dtile.cpp:10: warning: ./src/osg/osg/GLExtensions:33:10: fatal error: osg/MatrixTemplate: No such file or directory warning: 33 | #include <osg/MatrixTemplate> warning: | ^~~~~~~~~~~~~~~~~~~~ warning: compilation terminated.

    error: failed to run custom build command for _3dtile v0.1.0 (/home/3dtiles/3dtiles)

    Caused by: process didn't exit successfully: /home/3dtiles/3dtiles/target/release/build/_3dtile-3bd93cb2522ec516/build-script-build (exit status: 1) --- stdout TARGET = Some("x86_64-unknown-linux-gnu") OPT_LEVEL = Some("3") HOST = Some("x86_64-unknown-linux-gnu") CXX_x86_64-unknown-linux-gnu = None CXX_x86_64_unknown_linux_gnu = None HOST_CXX = None CXX = None CXXFLAGS_x86_64-unknown-linux-gnu = None CXXFLAGS_x86_64_unknown_linux_gnu = None HOST_CXXFLAGS = None CXXFLAGS = None CRATE_CC_NO_DEFAULTS = None DEBUG = Some("false") CARGO_CFG_TARGET_FEATURE = Some("fxsr,sse,sse2") running: "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "./src" "-I" "./src/osg" "-std=c++11" "-o" "/home/3dtiles/3dtiles/target/release/build/_3dtile-0cb009fe500c30cb/out/./src/tileset.o" "-c" "./src/tileset.cpp" exit status: 0 running: "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "./src" "-I" "./src/osg" "-std=c++11" "-o" "/home/3dtiles/3dtiles/target/release/build/_3dtile-0cb009fe500c30cb/out/./src/shp23dtile.o" "-c" "./src/shp23dtile.cpp" cargo:warning=In file included from ./src/osg/osg/Shader:25, cargo:warning= from ./src/osg/osg/StateAttribute:20, cargo:warning= from ./src/osg/osg/Material:18, cargo:warning= from ./src/shp23dtile.cpp:10: cargo:warning=./src/osg/osg/GLExtensions:33:10: fatal error: osg/MatrixTemplate: No such file or directory cargo:warning= 33 | #include <osg/MatrixTemplate> cargo:warning= | ^~~~~~~~~~~~~~~~~~~~ cargo:warning=compilation terminated. exit status: 1

    --- stderr

    error occurred: Command "c++" "-O3" "-ffunction-sections" "-fdata-sections" "-fPIC" "-m64" "-I" "./src" "-I" "./src/osg" "-std=c++11" "-o" "/home/3dtiles/3dtiles/target/release/build/_3dtile-0cb009fe500c30cb/out/./src/shp23dtile.o" "-c" "./src/shp23dtile.cpp" with args "c++" did not execute successfully (status code exit status: 1).

    warning: build failed, waiting for other jobs to finish... error: build failed

    opened by gisspace 9
  • 编译不通,谁知道这是什么问题呢?

    编译不通,谁知道这是什么问题呢?

    = note: E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.15.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x111e): undefined reference to osgb23dtile_path' E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.15.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x3845): undefined reference todegree2rad' E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.15.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x3861): undefined reference to degree2rad' E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.15.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x3db2): undefined reference totransform_c' E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.5.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x2e95): undefined reference to make_gltf' E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.5.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x3b93): undefined reference towkt_convert' E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.5.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x42ba): undefined reference to epsg_convert' E:\3dtiles\target\release\deps\3dtile-83544ef4f1ad93f6.3dtile.ekzj3nbz-cgu.6.rcgu.o:3dtile.ekzj3nbz-cg:(.text+0x3971): undefined reference toshp23dtile'

    error: aborting due to previous error error: could not compile 3dtile.

    opened by hqr1688 9
  • osgb to glb - no materials and textures i output file

    osgb to glb - no materials and textures i output file

    Hi!

    Thanks for making this library. I have tried exporting a osgb file from 3ds max and then converting it to a glb file with the tool. This is how it looks in 3ds max:

    image

    The osgb file is also attached. test.zip

    The file is loading in the viewer located here: https://pissang.github.io/clay-viewer/editor/

    But there is no materials or textures displayed.

    I also tried the file in these viewers(it does not load and generate an error): https://sandbox.babylonjs.com/ https://gltf-viewer.donmccurdy.com/

    Babylonjs error: "/meshes/0/primitives/0/material: Failed to find index (10)"

    gltf-viewer.donmccurdy error: "Cannot read property 'extensions' of undefined" "Validation could not run: TypeError. Cannot read property 'parser' of undefined"

    opened by sweco-sekrsv 9
  • 问下transfrom矩阵和4*4矩阵的区别

    问下transfrom矩阵和4*4矩阵的区别

    我自己研究了矩阵旋转和缩放的原理,自己写了个可视化工具,缩放的完成了,但是旋转一直不得要领,网上找了些矩阵旋转的资料,自己也翻了翻线代的书,旋转达到了,但是每次都会翘起来一部分,不知道是什么导致的,能不能贴一个旋转的公式?我完成工具后上传上来,之后的人也都方便了。如图,顺时针旋转的需求达到了,但是翘起来了。 image 下面是我自己的公式 image 真心求教,33的很好弄,但是44的矩阵,而且不确定transfrom的排列方式。就真的对我来说很难。希望能贴一个公式

    opened by simonasdmd 9
  • convert osgb problem on Ubuntu

    convert osgb problem on Ubuntu

    Hi, I successfully build 3dtiles on Ubuntu, see #29 .

    But when convert osgb files, it shows a lot of lines as below:

    InputStream::readImage(): Unable to find a plugin for jpg
    InputStream::readImage(): Unable to find a plugin for jpg
    InputStream::readImage(): Unable to find a plugin for jpg
    ...
    

    When the converted tiles files are put into cesium, all are black.

    opened by stoneflyop1 8
  • unclear what does it do

    unclear what does it do

    Hello, i'm not sure what does the tool do, could you help

    it says convert to 3d tiles but there is no tileset.json generated after creation ?

    also we can only convert to gltf/glb but no b3dm ?

    opened by Rakiah 3
  • linux版本编译中遇到的问题

    linux版本编译中遇到的问题

    image 对于新手的我来说,这一句话理解起来有点困难。是不是这样子: 1.执行cargo build --release只适用于centos7。 2.其它的linux系统需要自己pull "https://github.com/openscenegraph/OpenSceneGraph.git" and build

    opened by yonggandeliuguang 1
Releases(v0.4)
  • v0.4(Jul 29, 2021)

  • v0.3(Sep 28, 2018)

  • 0.2(Aug 14, 2018)

    1、支持解析 metadata.xml 中的各种坐标系 2、支持osgb的 DXT 压缩纹理 3、线程池方式处理模型数据 4、shapefile 处理的模型可以被加载显示

    Source code(tar.gz)
    Source code(zip)
  • v0.1(Apr 14, 2018)

Owner
null
OpenGL®-Starter is a template for your upcoming OpenGL Projects which has been compiled to run the most basic Hello World OpenGL Program from LearnOpenGL.com.

OpenGL®-Starter OpenGL®-Starter is a template for your upcoming OpenGL Projects which has been compiled to run the most basic Hello World OpenGL Progr

Kushagra 9 Sep 7, 2022
A set of open c++ game development tools that are lightweight, easy-to-integrate and free to use. Currently hosting a magicavoxel .vox full scene loader.

open game tools Open game tools is a set of unencumbered, free, lightweight, easy-to-integrate tools for use in game development. So far it contains:

null 291 Dec 29, 2022
The DirectX Shader Compiler project includes a compiler and related tools used to compile High-Level Shader Language (HLSL) programs into DirectX Intermediate Language (DXIL) representation

DirectX Shader Compiler The DirectX Shader Compiler project includes a compiler and related tools used to compile High-Level Shader Language (HLSL) pr

Microsoft 2.4k Jan 3, 2023
Convert OSGB,Shp,GDB To Cesium 3DTiles

About Project 整体参考https://github.com/fanvanzh/3dtiles, 向作者致敬,市面上唯一的开源好用的3DTILES转换工具,在学习过程中,从中收获很多,对3DTiles、OSGB、GLTF等数据格式有了进一步了解。 原工程基于C++、C和Rust,本人本身

HuiWang 122 Dec 30, 2022
✔️The smallest header-only GUI library(4 KLOC) for all platforms

Welcome to GUI-lite The smallest header-only GUI library (4 KLOC) for all platforms. 中文 Lightweight ✂️ Small: 4,000+ lines of C++ code, zero dependenc

null 6.6k Jan 8, 2023
Jsmn is a world fastest JSON parser/tokenizer. This is the official repo replacing the old one at Bitbucket

JSMN jsmn (pronounced like 'jasmine') is a minimalistic JSON parser in C. It can be easily integrated into resource-limited or embedded projects. You

Serge Zaitsev 3.2k Jan 9, 2023
hashcat is the world's fastest and most advanced password recovery utility

hashcat is the world's fastest and most advanced password recovery utility, supporting five unique modes of attack for over 300 highly-optimized hashing algorithms. hashcat currently supports CPUs, GPUs, and other hardware accelerators on Linux, Windows, and macOS, and has facilities to help enable distributed password cracking.

null 16.3k Dec 30, 2022
This project aim to create a header library that convert wiring/cpp reserved words to every language in the world.

Translating Wiring and C++ reserved words language to something different than English See this readme in your language Português - LEIAME Español - L

Jeferson Lima 0 Mar 15, 2018
Improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World.

OpenXRay OpenXRay is an improved version of the X-Ray Engine, the game engine used in the world-famous S.T.A.L.K.E.R. game series by GSC Game World. S

null 2.2k Jan 1, 2023
Super Mario World Widescreen is your beloved Mario World SNES game but in the 16:9 resolution.

Super Mario World Widescreen is your beloved Mario World SNES game but in the 16:9 resolution. This is possible by expanding the horizontal resolution by 96 pixels, increasing resolution from 256x224 to 352x224. Since the original SNES does not have this resolution, the emulator focused into high definition mods bsnes-hd must be used.

Vitor Vilela 1.4k Dec 29, 2022
Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

Cocos2d-x is a suite of open-source, cross-platform, game-development tools used by millions of developers all over the world.

cocos2d 16.7k Dec 26, 2022
Hibizcus is a collection of tools - Font proofing and debugging tools

Hibizcus Font proofing and debugging tools. Written by: Muthu Nedumaran Hibizcus is a collection of tools written to proof and debug in-house develope

Muthu Nedumaran 23 Oct 31, 2022
Suckless-tools - My fork of suckless tools.

suckless-tools Here is my fork of suckless tools. I didn't include tabbed, i was using but not actively. I am using xfce4-terminal instead of st. Beca

null 2 Jan 7, 2022
The Vulkan Profiles Tools are a collection of tools delivered with the Vulkan SDK for Vulkan application developers to leverage Vulkan Profiles while developing a Vulkan application

Copyright © 2021-2022 LunarG, Inc. Vulkan Profiles Tools (BETA) The Vulkan Profiles Tools are a collection of tools delivered with the Vulkan SDK for

The Khronos Group 73 Dec 25, 2022
The fastest feature-rich C++11/14/17/20 single-header testing framework

master branch Windows All dev branch Windows All doctest is a new C++ testing framework but is by far the fastest both in compile times (by orders of

Viktor Kirilov 4.5k Jan 5, 2023
Fastest Integer Compression

TurboPFor: Fastest Integer Compression TurboPFor: The new synonym for "integer compression" ?? (2019.11) ALL functions now available for 64 bits ARMv8

powturbo 647 Dec 26, 2022
TurboRLE-Fastest Run Length Encoding

TurboRLE: Turbo Run Length Encoding Efficient and fastest Run Length Encoding library ?? The fastest now up to 50% more faster incl. SSE/AVX2 + improv

powturbo 247 Dec 14, 2022
The fastest feature-rich C++11/14/17/20 single-header testing framework

master branch Windows All dev branch Windows All doctest is a new C++ testing framework but is by far the fastest both in compile times (by orders of

Viktor Kirilov 4.5k Jan 4, 2023
Python bindings for Wasm3, the fastest WebAssembly interpreter

pywasm3 Python bindings for Wasm3, the fastest WebAssembly interpreter Main repository: Wasm3 project Install # Latest release: pip3 install pywasm3

Wasm3 Labs 49 Dec 27, 2022
A local DNS server to obtain the fastest website IP for the best Internet experience

A local DNS server to obtain the fastest website IP for the best Internet experience

Nick Peng 5.7k Jan 4, 2023