/glTF-Renderer

A from-the-ground-up implementation of a glTF model loader and renderer using PBR techniques.

Primary LanguageTypeScriptMIT LicenseMIT

glTF Renderer

This project aims to be a from-the-ground up implementation of a glTF model loader and renderer using PBR techniques.

Usage

> npm install
> npm run build
> npm run server

Then navigate to http://localhost:8080/index.html.

Note that file watching has not been setup yet.

The model that is loaded is currently hard-coded at the bottom of main.ts.

Credits

glMatrix

glMatrix is used for linear algebra within JavaScript thanks to @toji and @sinisterchipmunk.

The Khronos Group

All models referenced in this project have been published thanks to Khronos Group. A large list of glTF models can be found on their GitHub account.

TODO

General

  • Re-architect rendering pipeline.
  • Get Webpack watching and working properly.
  • Support VR displays.
  • Use uniform and attribute setters.
  • Move rendering specific code out of Main.ts.
  • Move shader code out of Main.ts.

Rendering

  • Add screen space effects.
  • Create cube-maps.
  • Add proper diffuse lighting.
  • Add reflectance.
  • Obey metalness properties.

UI

  • Implement some sort of UI.
  • Dynamically change model.
  • Dynamically change skybox.
  • Turn on and off various channels.