<p align="center">
<img src="docs/DracoLogo.jpeg" />
</p>
News
=======
### Version 1.3.5 release
* Added option to build Draco for Universal Scene Description
* Code cleanup
* Bug fixes
### Version 1.3.4 release
* Released Draco Animation code
* Fixes for Unity
* Various file location and name changes
### Version 1.3.3 release
* Added ExpertEncoder to the Javascript API
* Allows developers to set quantization options per attribute id
* Bug fixes
### Version 1.3.2 release
* Bug fixes
### Version 1.3.1 release
* Fix issue with multiple attributes when skipping an attribute transform
### Version 1.3.0 release
* Improved kD-tree based point cloud encoding
* Now applicable to point clouds with any number of attributes
* Support for all integer attribute types and quantized floating point types
* Improved mesh compression up to 10% (on average ~2%)
* For meshes, the 1.3.0 bitstream is fully compatible with 1.2.x decoders
* Improved Javascript API
* Added support for all signed and unsigned integer types
* Added support for point clouds to our Javascript encoder API
* Added support for integer properties to the PLY decoder
* Bug fixes
### Previous releases
https://github.com/google/draco/releases
Description
===========
Draco is a library for compressing and decompressing 3D geometric [meshes] and
[point clouds]. It is intended to improve the storage and transmission of 3D
graphics.
Draco was designed and built for compression efficiency and speed. The code
supports compressing points, connectivity information, texture coordinates,
color information, normals, and any other generic attributes associated with
geometry. With Draco, applications using 3D graphics can be significantly
smaller without compromising visual fidelity. For users, this means apps can
now be downloaded faster, 3D graphics in the browser can load quicker, and VR
and AR scenes can now be transmitted with a fraction of the bandwidth and
rendered quickly.
Draco is released as C++ source code that can be used to compress 3D graphics
as well as C++ and Javascript decoders for the encoded data.
_**Contents**_
* [Building](#building)
* [CMake Basics](#cmake-basics)
* [Mac OS X](#mac-os-x)
* [Windows](#windows)
* [CMake Build Configuration](#cmake-build-configuration)
* [Debugging and Optimization](#debugging-and-optimization)
* [Googletest Integration](#googletest-integration)
* [Javascript Encoder/Decoder](#javascript-encoderdecoder)
* [Android Studio Project Integration](#android-studio-project-integration)
* [Native Android Builds](#native-android-builds)
* [Usage](#usage)
* [Command Line Applications](#command-line-applications)
* [Encoding Tool](#encoding-tool)
* [Encoding Point Clouds](#encoding-point-clouds)
* [Decoding Tool](#decoding-tool)
* [C++ Decoder API](#c-decoder-api)
* [Javascript Encoder API](#javascript-encoder-api)
* [Javascript Decoder API](#javascript-decoder-api)
* [Javascript Decoder Performance](#javascript-decoder-performance)
* [Metadata API](#metadata-api)
* [NPM Package](#npm-package)
* [three.js Renderer Example](#threejs-renderer-example)
* [Support](#support)
* [License](#license)
* [References](#references)
Building
========
For all platforms, you must first generate the project/make files and then
compile the examples.
CMake Basics
------------
To generate project/make files for the default toolchain on your system, run
`cmake` from a directory where you would like to generate build files, and pass
it the path to your Draco repository.
~~~~~ bash
$ cmake path/to/draco
~~~~~
On Windows, the above command will produce Visual Studio project files for the
newest Visual Studio detected on the system. On Mac OS X and Linux systems,
the above command will produce a `makefile`.
To control what types of projects are generated, add the `-G` parameter to the
`cmake` command. This argument must be followed by the name of a generator.
Running `cmake` with the `--help` argument will list the available
generators for your system.
Mac OS X
---------
On Mac OS X, run the following command to generate Xcode projects:
~~~~~ bash
$ cmake path/to/draco -G Xcode
~~~~~
Windows
-------
On a Windows box you would run the following command to generate Visual Studio
2015 projects:
~~~~~ bash
C:\Users\nobody> cmake path/to/draco -G "Visual Studio 14 2015"
~~~~~
To generate 64-bit Windows Visual Studio 2015 projects:
~~~~~ bash
C:\Users\nobody> cmake path/to/draco -G "Visual Studio 14 2015 Win64"
~~~~~
CMake Build Configuration
-------------------------
Debugging and Optimization
--------------------------
Unlike Visual Studio and Xcode projects, the build configuration for make
builds is controlled when you run `cmake`. The following examples demonstrate
various build configurations.
Omitting the build type produces makefiles that use release build flags
by default:
~~~~~ bash
$ cmake path/to/draco
~~~~~
A makefile using release (optimized) flags is produced like this:
~~~~~ bash
$ cmake path/to/draco -DCMAKE_BUILD_TYPE=release
~~~~~
A release build with debug info can be produced as well:
~~~~~ bash
$ cmake path/to/draco -DCMAKE_BUILD_TYPE=relwithdebinfo
~~~~~
And your standard debug build will be produced using:
~~~~~ bash
$ cmake path/to/draco -DCMAKE_BUILD_TYPE=debug
~~~~~
To enable the use of sanitizers when the compiler in use supports them, set the
sanitizer type when running CMake:
~~~~~ bash
$ cmake path/to/draco -DSANITIZE=address
~~~~~
Googletest Integration
----------------------
Draco includes testing support built using Googletest. To enable Googletest unit
test support the ENABLE_TESTS cmake variable must be turned on at cmake
generation time:
~~~~~ bash
$ cmake path/to/draco -DENABLE_TESTS=ON
~~~~~
When cmake is used as shown in the above example the Draco cmake file assumes
that the Googletest source directory is a sibling of the Draco repository. To
change the location to something else use the GTEST_SOURCE_DIR cmake variable:
~~~~~ bash
$ cmake path/to/draco -DENABLE_TESTS=ON -DGTEST_SOURCE_DIR=path/to/googletest
~~~~~
To run the tests just execute `draco_tests` from your toolchain's build output
directory.
Javascript Encoder/Decoder
------------------
The javascript encoder and decoder can be built using the existing cmake build
file by passing the path the Emscripten's cmake toolchain file at cmake
generation time in the CMAKE_TOOLCHAIN_FILE variable.
In addition, the EMSCRIPTEN environment variable must be set to the local path
of the parent directory of the Emscripten tools directory.
~~~~~ bash
# Make the path to emscripten available to cmake.
$ export EMSCRIPTEN=/path/to/emscripten/tools/parent
# Emscripten.cmake can be found within your Emscripten installation directory,
# it should be the subdir: cmake/Modules/Platform/Emscripten.cmake
$ cmake path/to/draco -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake
# Build the Javascript encoder and decoder.
$ make
~~~~~
WebAssembly Decoder
-------------------
The WebAssembly decoder can be built using the existing cmake build file by
passing the path the Emscripten's cmake toolchain file at cmake generation time
in the CMAKE_TOOLCHAIN_FILE variable and enabling the WASM build option.
In addition, the EMSCRIPTEN environment variable must be set to the local path
of the parent directory of the Emscripten tools directory.
Make sure to have the correct version of Emscripten installed for WebAssembly
builds. See https://developer.mozilla.org/en-US/docs/WebAssembly.
~~~~~ bash
# Make the path to emscripten available to cmake.
$ export EMSCRIPTEN=/path/to/emscripten/tools/parent
# Emscripten.cmake can be found within your Emscripten installation directory,
# it should be the subdir: cmake/Modules/Platform/Emscripten.cmake
$ cmake path/to/draco -DCMAKE_TOOLCHAIN_FILE=/path/to/Emscripten.cmake -DENABLE_WASM=ON
# Build the WebAssembly decoder.
$ make
# Run the J
没有合适的资源?快使用搜索试试~ 我知道了~
3D图形开源压缩库Draco.zip
共631个文件
h:196个
cc:141个
md:46个
需积分: 50 7 下载量 43 浏览量
2019-07-19
15:57:54
上传
评论
收藏 27.11MB ZIP 举报
温馨提示
Draco 是一种库,用于压缩和解压缩 3D 几何网格(geometric mesh)和点云(point cloud)。换句话说,它显著缩小了 3D 图形文件的大小,同时对 3D 图形的观看者来说又根本不严重影响视觉效果。它还旨在改善 3D 图形的压缩和传输。 来自谷歌 Chrome Media 团队的贾米森·布雷特勒(Jamieson Brettle)和法兰克·加利根(Frank Galligan)在解释 Draco 时说:“Draco 是为了提升压缩效率和速度而设计和研制的。代码支持压缩点、连接信息、纹理坐标、颜色信息、正常量以及与几何形状有关的任何其他一般属性。有了 Draco,使用 3D 图形的应用程序可以小巧得多,又不影响视觉逼真度。对于用户来说,这意味着现在应用程序下载起来更快了,浏览器中的 3D 图形加载起来更快了,现在只需要少量的带宽就可以传输虚拟现实和增强现实了,而且可以迅速呈现、画面极其逼真。”Draco 是作为 C 源代码发布的,可以用来压缩 3D 图形,另外还发布了处理编码数据的 C 和 Javascript 解码器。 标签:Draco
资源推荐
资源详情
资源评论
收起资源包目录
3D图形开源压缩库Draco.zip (631个子文件)
draco3d-vert.ai 106KB
draco3d-mark.ai 106KB
draco3d-horiz.ai 87KB
AUTHORS 317B
bunny.drc.bytes 94KB
mesh_edgebreaker_decoder_impl.cc 45KB
mesh_edgebreaker_encoder_impl.cc 35KB
obj_decoder.cc 22KB
kd_tree_attributes_decoder.cc 20KB
corner_table.cc 16KB
point_cloud_kd_tree_encoding_test.cc 16KB
symbol_encoding.cc 15KB
point_d_vector_test.cc 13KB
draco_encoder.cc 12KB
kd_tree_attributes_encoder.cc 12KB
encoder_webidl_wrapper.cc 12KB
ply_decoder.cc 11KB
encode_test.cc 11KB
point_cloud_encoder.cc 11KB
decoder_webidl_wrapper.cc 11KB
obj_encoder.cc 10KB
prediction_scheme_normal_octahedron_canonicalized_transform_test.cc 10KB
ply_reader.cc 10KB
point_cloud.cc 9KB
mesh_edgebreaker_encoding_test.cc 9KB
triangle_soup_mesh_builder_test.cc 9KB
draco_maya_plugin.cc 9KB
sequential_integer_attribute_encoder.cc 8KB
mesh_attribute_corner_table.cc 8KB
point_attribute.cc 8KB
sequential_integer_attribute_decoder.cc 8KB
mesh_are_equivalent.cc 7KB
mesh_cleanup.cc 7KB
decode_test.cc 7KB
mesh_edgebreaker_encoder.cc 7KB
obj_decoder_test.cc 7KB
expert_encode.cc 7KB
ply_encoder.cc 7KB
attribute_quantization_transform.cc 7KB
point_cloud_builder_test.cc 7KB
vector_d_test.cc 7KB
point_cloud_decoder.cc 6KB
keyframe_animation_encoding_test.cc 6KB
symbol_decoding.cc 6KB
metadata_encoder_test.cc 6KB
symbol_coding_test.cc 6KB
mesh_cleanup_test.cc 6KB
parser_utils.cc 6KB
ply_reader_test.cc 6KB
point_cloud_test.cc 5KB
sequential_attribute_decoders_controller.cc 5KB
metadata_test.cc 5KB
divide.cc 5KB
sequential_attribute_encoders_controller.cc 5KB
mesh_sequential_encoder.cc 5KB
draco_unity_plugin.cc 5KB
draco_decoder.cc 5KB
decode.cc 5KB
shannon_entropy.cc 5KB
mesh_sequential_decoder.cc 5KB
point_cloud_io_test.cc 4KB
sequential_quantization_attribute_decoder.cc 4KB
float_points_tree_decoder.cc 4KB
point_attribute_test.cc 4KB
sequential_attribute_decoder.cc 4KB
obj_encoder_test.cc 4KB
metadata.cc 4KB
mesh_are_equivalent_test.cc 4KB
mesh_stripifier.cc 4KB
keyframe_animation_test.cc 4KB
rans_bit_encoder.cc 4KB
sequential_normal_attribute_decoder.cc 4KB
buffer_bit_coding_test.cc 4KB
mesh_encoder_test.cc 4KB
sequential_attribute_encoder.cc 3KB
encode.cc 3KB
triangle_soup_mesh_builder.cc 3KB
point_cloud_sequential_encoding_test.cc 3KB
encoder_buffer.cc 3KB
animation_decoder_webidl_wrapper.cc 3KB
quantization_utils_test.cc 3KB
metadata_encoder.cc 3KB
ply_decoder_test.cc 3KB
float_points_tree_encoder.cc 3KB
attributes_decoder.cc 3KB
metadata_decoder.cc 3KB
animation_encoder_webidl_wrapper.cc 3KB
sequential_quantization_attribute_encoder.cc 3KB
geometry_attribute.cc 3KB
attribute_octahedron_transform.cc 3KB
prediction_scheme_encoder_factory.cc 3KB
prediction_scheme_normal_octahedron_transform_test.cc 3KB
draco_test_utils.cc 3KB
point_cloud_builder.cc 3KB
sequential_integer_attribute_encoding_test.cc 3KB
options.cc 2KB
mesh_io.cc 2KB
mesh_edgebreaker_decoder.cc 2KB
draco_unity_plugin_test.cc 2KB
decoder_options_test.cc 2KB
共 631 条
- 1
- 2
- 3
- 4
- 5
- 6
- 7
资源评论
weixin_39840914
- 粉丝: 435
- 资源: 1万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 基于CarNet实现裂缝检测python源码+文档说明+数据+图片(课程设计)
- 课程设计-基于耐火材料裂缝剥落检测python源码+课件
- 基于OpenCV的视频道路车道检测python源码+文档说明+实验演示+图片+使用方法(高分毕业设计)
- 基于OpenCV的案例:图像边缘、角点和轮廓检测,图像分割,图像增强;图片拼接;运动目标检测,颜色直方图比较,三帧帧差法,抠图
- SmartPlug-html大一笔记
- SmartPlug-proteusdemo
- Preliminary Findings on Handmade Rattan Baby Crib andBassinet Designs Regarding.zip
- aveebfq_v1.2.83_downyi.com.apk
- 基于有机发光二极管(OLED)的建模优化算法的matlab仿真源码+数据+文档说明+项目说明(高分课程设计)
- hash01-test.c 本人哈希表(一)的示例代码,仅供参考!
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功