Skip to content

Open 3D Graphics Compression

Khaled Mammou edited this page Dec 2, 2013 · 27 revisions

What is Open3DGC?

The Open3DGC library provides an efficient implementation (MIT license) of MPEG 3D Graphics Codecs. Open3DGC encoders are implemented in C++ for fast server side or offline compression. Decoders are implemented in both javascript and C++ to target mobile and web applications.

Can I try Open3DGC?

You can use the following links to try Open3DGC in your Web browser: Duck, Hand, Ben, Dance, Dilo, Bunny, Octopus, Troll, Diable

Screenshot

What codecs are supported?

Open3DGC provides codecs for:

  • 3D meshes with multiple attributes (e.g., positions, normals, texture coordinates, animation weights and joint IDs).
  • Bone-based animations.
  • Morphing (coming soon).

How efficient is it?

Evaluation datasets

  • CAD models: meshes with a high number of connected components and irregular sampling.
  • Scanned models: dense and almost uniformly sampled meshes.
  • MPEG data set: a wide variety of models (i.e., manifold, non-manifold, open/closed, arbitrary genus).

Evaluation dataset

Evaluated codecs

  • Gzip with default settings (level=6)
  • OpenCTM with default settings
  • Webgl-loader with 14 bits quantization for positions and 10 bits quantization for normals and texture coordinates
  • Open3DGC with 14 bits quantization for positions and 10 bits quantization for normals and texture coordinates

Compression efficiency evaluation

How fast is it?

  • Javascript decoding speed

Javascript Decoding Speed

  • C++ encoding speed: 2525K triangles per second (Intel i7-2600 CPU @ 3.4 GHz, Win7 x64, RAM 10 GB)
  • C++ decoding speed: 3300K triangles per second (Intel i7-2600 CPU @ 3.4 GHz, Win7 x64, RAM 10 GB)

What algorithms are implemented in Open3DGC?

How to use Open3DGC in glTF?

Try out glTF viewer with Open3DGC compression

glTF Viewer