Find file History
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
Makefile Print more error message. Feb 28, 2018

Simple Alembic to glTF converter example


  • Node hierarchy(Xform).
  • Polygon mesh.
  • Curves(as an extension)


  • Alembic data with Ogawa backend only
  • Simple poly mesh only
  • Simple curve only
  • Static mesh only(Use first time sample. no animation)


OpenEXR(ilmbase), and Alembic 1.6 or later are equired to compile the converter.

Edit include and lib paths for Alembic OpenEXR(ilmbase) in Makefile, then simply:

$ make

Alembic data

I am testing with Alembic data using Blender's Alembic exporter(feature available from Blender 2.78)



Curves are reprenseted as point primitive(mode = 0) in glTF level for the backward compatibility of existing glTF specification. The number of vertices per curve information is aded to NVERRTS attribute. "ext_mode" extra property is added and set it to "curves" string to specify the object as curves primitive.

Here is an example JSON description of curves primitive.

"meshes": {
  "curves_1": {
    "primitives": [
        "attributes": {
          "POSITION": "accessor_vertices",
          "NVERTS": "accessor_nverts",
        "material": "material_1",
        "mode": 0,
        "extras" {
          "ext_mode" : "curves"


  • Support facevarying normals and texcoords/facevarying texcoords.
  • Support animation(time samples)
  • Support Point and SubD?