Apertus
  • Documentation
  • Introduction
    • Definitions
      • Coordinate systems
      • Primitives
    • Features
      • Basic
        • Nodes
        • Light sources
        • Geometries
        • Primitives
        • Texts
      • Environment simulation
        • Water
        • Sky
        • Terrain
      • Browser
      • UI technologies
        • HTML UI
        • Presentation
        • Gallery
      • PointCloud
      • 360
        • 360 Images
        • 360 Videos
      • 3D Model Formats
      • Scene Sharing
        • Multiplayer
      • Video and Voice Chat
      • Hand Tarcking
        • Leap Motion
      • Head Tracking
        • Fob
      • Displays
        • Multi Display
        • Cave System
        • HMDs
      • Industry
        • IoT, and Sensors
        • Robot monitoring
        • Robot calibration
  • Developers
    • Development Cycle
    • Architecture
      • Project folders
      • Configuration ecosystem
    • API
      • C++ API
      • JavaScript API
      • HTTP REST API
    • Getting Started
      • Creating a plugin
      • Creating a sample
  • Contribute
    • Report a Bug
    • Suggest a Feature
  • Tutorial - How to visualize CAD models in VR
    • Introduction
    • Import CAD Models
    • Convert CAD Models
    • Create Low-poly from CAD Models
    • Create Photorealistic CAD Models
  • Plugins - Photorealistic Render
  • Plugins - Physics
  • Tutorial - How to visualize Tensorflow training in VR
  • Tutorial - Virtual Learning Factory Toolkit Gamification
  • Overview
    • Introduction
    • Architecture
    • Use Cases
  • Installation
    • Windows
    • Android
      • How to use
      • Writing an application
    • MacOS
  • Build
    • Windows
      • How to build the source on Windows
    • Android
    • MacOS
  • Plugins on Windows
    • Photorealistic Render
      • How to use
      • How to configure
      • Features
      • Sample
    • Physics
      • How to use
      • How to configure
      • Features
      • Samples
      • Demo video
  • Plugins on Android
    • Java Native Interface
      • How to use
      • Extending the API
    • Filament render
      • How to use
      • How to configure
      • Developers
  • Plugins on MacOS
    • Untitled
  • Samples on Windows
    • Deep learning
      • Untitled
      • Use the Fastai-PythorchVR Sample
      • Use the HTTP API
      • Create HTTP Requests from Python
      • Demo video
    • Virtual Learning Factory Toolkit Gamification
      • Installation
      • Lobby - User Interface
      • Local - User Interface
      • Student - User Interface
      • Teacher - User Interface
      • VLFT Gamification Session
      • VR Mode
  • Virtual Learning Factory Application
    • Installation on Windows
    • Installation on Apple
    • Lobby
    • Single Player
    • Multi Player - Student
    • Multi Player - Teacher
Powered by GitBook
On this page
  1. Introduction
  2. Features

3D Model Formats

Previous360 VideosNextScene Sharing

Last updated 6 years ago

Using Assimp, Apertus is able to import various 3D model formats.

is a library to import and export various 3d-model-formats including scene-post-processing to generate missing render data.

Importers:

  • 3D

  • AC

  • ACC

  • AMJ

  • ASE

  • ASK

  • B3D

  • CMS

  • COB

  • ENFF

  • + GLB

  • HMB

  • IFC-STEP

  • IRR / IRRMESH

  • LWS

  • LXO

  • MD2

  • MD3

  • MD5

  • MDC

  • MDL

  • MESH / MESH.XML

  • MOT

  • MS3D

  • NDO

  • NFF

  • PMX

  • PRJ

  • Q3O

  • Q3S

  • RAW

  • SCN

  • SIB

  • SMD

  • TER

  • UC

  • VTA

  • X

  • XGL

  • ZGL

Exporters:

  • DAE (Collada)

  • STL

  • OBJ

  • PLY

  • X

  • 3DS

  • ASSBIN

  • STEP

  • glTF 1.0 (partial)

  • glTF 2.0 (partial)

  • 3MF ( experimental )

  • FBX ( experimental )

The advantages and properties are the followings:

  • A glTF can store all (other) entities (models) in a 3D scene.

  • It's also a 3D file format for individual entities: converting 3DS files to glTF is supported by several 3D renderers, CAD software. Sites like Sketchfab also provide plenty of PBR-ready assets for downloading, and plugins that export scenes to this format.

  • glTF is a JSON based format. It's very easy to parse and the data already comes typed. This significantly reduces the need to rely on complex third party libraries to read it. Many languages (e.g., Javascript, Python) even support this format natively.

  • glTF allows specifying an external file for the big data, in binary format. It even supports many common GPU data types, so in practice this file can be moved in chunks directly to the GPU memory. Yes, glTF is the first of these formats that can even be used efficiently as in-engine data.

  • Even if engines would prefer to import to their own format, like Godot does, glTF is extremely fast to export and import. This makes it ideal for making changes to a complex file in the 3D software and updating them to the 3D engine almost instantly.

  • glTF 2.0 fully supports skeletons and morph targets, which can be parsed easily and unambiguously. It also supports PBR based materials using the Disney/Unreal format, which is what most engines and 3D modelling applications use nowadays, with albedo, metallic, roughness, normal, emission and ambient occlusion. It also handles two-sidedness and transparent materials, including alpha to coverage. Extensions for handling shader material graphs are in the work.

  • Animation support is also well done. glTF 2.0 supports multiple animations per file, which is ideal for exporting character actions. It also supports many key interpolation types, such as Catmull Rom and Cubic Spline. Animations are also can be stored in the binary file, so they can be loaded quickly.

  • glTF is developed by individuals from many companies, such as Microsoft, Unity, Google, Adobe, NVidia, Oculus, etc. in collaboration with Khronos.

  • glTF is an open standard and the development process is also transparent.

JSON (for WebGl, via )

We prefer format:

Tools for glTF:

Assimp
3DS
3MF
AC3D
BLEND
BVH
DAE/Collada
DXF
FBX
glTF 1.0
glTF 2.0
LWO
OBJ
OFF
OGEX
PLY
STP
STL
X3D
https://github.com/acgessler/assimp2json
glTF
https://github.com/KhronosGroup/glTF/blob/master/README.md
https://raw.githubusercontent.com/KhronosGroup/glTF/master/specification/2.0/figures/gltfOverview-2.0.0a.png
https://github.com/KhronosGroup/glTF/#gltf-tools