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

You can’t perform that action at this time.