All Projects → code4game → libgltf

code4game / libgltf

Licence: other
glTF 2.0 parser/loader for C++11, supports many extensions likes `KHR_draco_mesh_compression`, `KHR_lights_punctual`, `KHR_materials_clearcoat`, and more.

Programming Languages

C++
36643 projects - #6 most used programming language
python
139335 projects - #7 most used programming language
CMake
9771 projects

Projects that are alternatives of or similar to libgltf

verge3d-blender-addon
WebGL exporter add-on ripped from Verge3D for Blender toolkit
Stars: ✭ 91 (+65.45%)
Mutual labels:  gltf, gltf2
gltf-bounding-box
Computes the global bounding box of a gltf model
Stars: ✭ 18 (-67.27%)
Mutual labels:  gltf, gltf2
gdx-gltf
GLTF 2.0 3D format support and PBR shader implementation for LibGDX
Stars: ✭ 156 (+183.64%)
Mutual labels:  gltf, gltf2
Gltfforue4
Import glTF 2.0 in Unreal Engine
Stars: ✭ 145 (+163.64%)
Mutual labels:  mesh, gltf
orkid
Orkid Media Engine (C++/Lua/Python3/Linux/MacOs/OpenVR/Qt5)
Stars: ✭ 20 (-63.64%)
Mutual labels:  gltf, gltf2
GLTFKit2
A glTF 2.0 asset loader and exporter for Objective-C and Swift.
Stars: ✭ 30 (-45.45%)
Mutual labels:  gltf, gltf2
docker-gltf-to-udsz
Docker container for converting gltf files into apple usdz quicklook files
Stars: ✭ 42 (-23.64%)
Mutual labels:  gltf, gltf2
webgl-gltf
GLTF Viewer For WebGL
Stars: ✭ 26 (-52.73%)
Mutual labels:  gltf, gltf2
Assetkit
🎨 Modern 2D/3D - Importer • Exporter • Util - Library, also called (AssetIO)
Stars: ✭ 97 (+76.36%)
Mutual labels:  mesh, gltf
maya-glTF
glTF 2.0 exporter for Autodesk Maya
Stars: ✭ 121 (+120%)
Mutual labels:  gltf, gltf2
MeetixOS
An hobby OS written in modern C++20 which aims to be Unix-like. Currently based on EvangelionNG, a GhostOS derived kernel
Stars: ✭ 179 (+225.45%)
Mutual labels:  c11
json-schema
JSON schema validation
Stars: ✭ 20 (-63.64%)
Mutual labels:  json-schema
as-typed
Ambient mapping from JSON schema to typescript
Stars: ✭ 97 (+76.36%)
Mutual labels:  json-schema
stl2gltf
Convert STL to glb
Stars: ✭ 67 (+21.82%)
Mutual labels:  gltf2
meshmagick
A command line tool and a python package to manipulate hydrodynamics meshes
Stars: ✭ 36 (-34.55%)
Mutual labels:  mesh
combining3Dmorphablemodels
Project Page of Combining 3D Morphable Models: A Large scale Face-and-Head Model - [CVPR 2019]
Stars: ✭ 80 (+45.45%)
Mutual labels:  mesh
findpeaks
The detection of peaks and valleys in a 1d-vector or 2d-array (image)
Stars: ✭ 121 (+120%)
Mutual labels:  mesh
fem mesh matlab
MATLAB Toolbox for Handling 2D and 3D FEM Meshes
Stars: ✭ 23 (-58.18%)
Mutual labels:  mesh
nycmesh.net
NYC Mesh Website
Stars: ✭ 33 (-40%)
Mutual labels:  mesh
easemesh
A service mesh implementation for connecting, control, and observe services in spring-cloud.
Stars: ✭ 454 (+725.45%)
Mutual labels:  mesh

libgltf

glTF status libgltf document visit milestones

build Coverage status from coveralls Codacy Badge Language grade: Python

FOSSA Status CII best practices support

The project includes a generator that can generate codes by glTF 2.0 JSON schema.

It is used in glTFForUE4.

Features

  • glTF 2.0
  • Load the gltf/embedded/glb file
  • This is a static library
  • Cross platform
  • C++11
  • Supports the Unicode and UTF8
  • Supports some extensions
    • KHR_draco_mesh_compression - Google's Draco
    • KHR_lights_punctual
    • KHR_materials_clearcoat
    • KHR_materials_ior
    • KHR_materials_sheen
    • KHR_materials_specular
    • KHR_materials_transmission
    • KHR_materials_unlit
    • KHR_materials_variants
    • KHR_materials_volume
    • and more
  • Platforms
    • Windows
      • Win32 (win32)
      • x64 (win64)
    • Linux (linux)
    • macOS (macos)
    • Android
      • armeabi-v7a
      • armeabi-v7a-with-neon
      • arm64-v8a
      • x86
      • x86_64
    • iOS
      • iOS (iphoneos)
      • watchOS (watchos)
      • simulator

Getting Started

  1. Update the submodule

    Run git submodule update --init

  2. Generate the project by CMake

    Run cmake -G "[GENERATOR BY YOUR SYSTEM]" [LIBGLTF FOLDER]

  3. Build the project and generate the static library libgltf.lib or libgltf.a
  4. Include libgltf/libgltf.h in your project.
  5. Link the static library libgltf.lib or libgltf.a in your project.

    You have to link the static library draco.lib or draco.a with your project, if you want to support the Google's Draco. And you can find the draco in the external folder.

Code example:

std::shared_ptr<libgltf::IglTFLoader> gltf_loader = libgltf::IglTFLoader::Create(/*a function to load the file by std::istream*/);
std::shared_ptr<libgltf::SGlTF> loaded_gltf = gltf_loader->glTF().lock();
if (!loaded_gltf)
{
    printf("failed to load your gltf file");
}

License

This software is released under the MIT license.

FOSSA Status

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].