draco是什么?

Google公司推出的3d模型压缩利器,压缩比甩gzip几条街,100M的.obj压缩后大约5M。

开源项目的地址:https://github.com/google/draco

官方描述:

Draco是用于压缩和解压缩3D几何网格和点云的库,旨在改善3D图形的存储和传输。

准备

Windows用户安装虚拟机,使用Ubuntu进行下面的cmake和make等操作。

  1. VirtualBox下载:https://www.virtualbox.org/wiki/Downloads(自行学习)
  2. Ubuntu下载:http://cn.ubuntu.com/download/ (自行学习)
  3. draco源码:draco1.3.3.tar.gz (不能科学上网的可以下载)

下载源码安装git

打开终端,安装git

sudo apt -y install git 

进入home目录,下载源码

cd /home

sudo git clone https://github.com/google/draco.git

可能需要科学上网,也可以直接用我的draco1.3.3.tar.gz源码

编译

进入home可以看到下载的draco源码,创建新draco-build(目前的版本不允许在源码目录编译,所以需要新建一个目录)

安装cmake

sudo apt -y install cmake

mkdir draco-build

cd draco-build 

sudo cmake ../draco

make

然后等待完成

make,然后等待它完成。

此时进入draco-build文件夹,可以看到我们已经生成draco_encoder、draco_decoder文件了。

en_de

测试

 

draco_encoder可以将.obj压缩成.drc,我在testdata里准备了一个01.obj文件约43M

打开终端进入draco-build目录执行命令./draco_encoder -i testdata/01.obj -o 01.drc

 

见到saved就说明压缩成功了,draco文件夹下已经可以找01.drc,大小为627KB,而压缩前为43MB。

参数配置说明

压缩参数有两个:

  1. 压缩率:用cl表示,10为最大化压缩,1为最低档压缩。
  2. quantization bits:用qp表示,数值越小输出文件越小,模型效果越差。推荐使用默认配置。

可以看到在上一步压缩测试对象的时候,draco默认使用了参数 cl:7、qp:14。

现在我们自己动手:

  • 当参数为 cl:10 时:
    执行./draco_encoder -i testdata/01.obj -o 01.drc -cl 10
  • 当参数为 cl:10、qp:12 时:
    执行./draco_encoder -i testdata/01.obj -o 0.drc 01-qp 12 -cl 10

 

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐