IV3D File

3D File format, developed by Pelikan Software for the efficient transmission and fast loading of 3D scenes and models by WebGL applications. This format is compact, fast to decompress and very easy to parse.

Goals

  • Feature rich.
  • Small size.
  • Fast decompression.
  • Easy to parse in the browser by Java Script.

So file should be small and easy to decompress. Smaller file should be faster to load, however usage of computation heavy algorithms may cause slow decompression by browser. In result first image on the screemn may appear later in comparision to slightly bigger file and simper compression technology.

In rersult, iv3d file format has been developed. It is small, simple and fast. At the same time it can store light and heavy geometry, scene hierarcy, metadata, materials, textures. markups, skins and more. Quality and reliabilty are proven by many proejects developed on top of our 3d technology.

Contents

File contains:

  • Compressed scene tree in JSON format.
  • Materials.
  • Compressed meshes.
  • Optionally embedded textures in PNG or JPEG format.

Compression

Compression is based on ZLib libray, same as in zip files. It has quite good compression and fast decompression speed. There is no zip header and zip records. Files inside are identified by numbers, instead of names - for faster and simpler loading code.

Geometry

Meshes are in Binary Lossy - format. Lossy file compression results in lost data and quality from the original 3d geometry. Anyway, precision is very high and there are no visible artifacts.

Versions

You may need to use only in case if you use old WebGL framework, not compatible with new compression.

V1

First available version.

  • Points are quantinized.
  • Normals are converted to polar coordinates and quantinized to single 32 bit.
  • UVs are quantinized.
  • Colors are quantinized.
  • Face indicies are compressed.

V2

V2 has better compression, mostly because of new normals encoding technology. Normals equal to auto calculated normals are not stored, this may help to decrease file size on many models.

V3

This is major revision in 3d compression algorithm. It may provide up to 40% better compression ratio. Changes are:

  • Variable points quantinization factor.
  • Poinst and topology are written in relation to previous triangles. This allows simulatenious encoding of poinst and triangles.
  • Normals may be written as difference to computed normal with variable bits.
  • UVs are quantinized with variable factor.
  • Compression speed is faster than previous version.

Internally, WebGL export code may write each mesh in V3, V2 or V1 version, in case if older version provides better compression. Most often this happens with small meshes.

 

 

In this article