Skip to content

yxsamurai/minimal-gltf-loader

 
 

Repository files navigation

minimal-gltf-loader

Build Status License

A minimal, engine-agnostic JavaScript glTF Loader, with a raw WebGL 2 simple renderer example using the loader.

Viewer Screenshot

Live Demo

click here for live demo

Usage

import {vec3, vec4, quat, mat4} from 'gl-matrix';
var MinimalGLTFLoader = require('build/minimal-gltf-loader.js');

var glTFLoader = new MinimalGLTFLoader.glTFLoader();
glTFLoader.loadGLTF(url, function(glTF){
    //...
});

Loading Features

  • Accessors
    • Progressive loading / rendering
  • Buffers
  • BufferViews
  • Images
  • Meshes
  • Nodes
  • Primitives
  • Samplers
  • Textures
  • Shader Loader (not part of the core of glTF 2.0)
  • Animations
  • Cameras
  • Materials
  • Skins

Formats

  • glTF (.gltf) with separate resources: .bin (geometry, animation, skins), .glsl (shaders), and image files
  • glTF (.gltf) with embedded resources
  • Binary glTF (.glb) using the KHR_binary_glTF extension

Examples

  • WebGL 2 simple renderer
    • baseColorFactor
    • baseColorTexture
    • normalTexture
    • Skybox
    • PBR
    • Animation
    • Interpolations
      • LINEAR
      • STEP
      • CATMULLROMSPLINE
      • CUBICSPLINE
    • Skin
    • Camera (from glTF)
    • Progressive rendering (No plan for this)
    • Occlusion Culling experiment
      • Bounding Box
        • AABB (Axis Aligned Bounding Box, *static)
        • OBB (Object/Oriented Bounding Box)
      • Scene Bounding Box (fast iterated) And auto centered and scaled
      • Build octree
      • Occlusion Query with hierarchy

Credits

Packages

No packages published

Languages

  • JavaScript 92.6%
  • GLSL 6.8%
  • Other 0.6%