Skip to content

Latest commit

 

History

History
53 lines (42 loc) · 1.84 KB

README.md

File metadata and controls

53 lines (42 loc) · 1.84 KB

CanvasToy.js

Commitizen friendly

This is my undergraduate project, it is no longer suitable for modern typescript dev pipeline, please consider babylonjs for serious ts 3d engine

Lightweight WebGL/WenGL2 rendering engine, see some examples here

roadmap before 1.0:

  • PipeLine
    • Forward Rendering
    • Tile Based Deferred Rendering(TBDR)
  • Shading
    • Physical-based(GGX) material model
    • Image Based lighting (IBL)
    • Traditional material model(blinn-phong)
    • Reflection and retracions
  • Load and Parsing
    • .obj .mtl,
    • .fbx
    • .gltf
    • Variours types of images (through HTMLImageElement) as Textures
  • Lights
    • Point lights
    • Directional lights
    • Spot lights
  • Shadows
    • Basic shadow mapping
    • Expotional soft shadow mapping (forward approach)
    • Expotional soft shadow mapping (deferred approach)
    • Percentage closer soft shadow(PCSS)
    • Screen-space shadow mapping (deferred approach)
  • Transforms
    • Basic object transforms
    • Scenes Graph
    • Bones and Animation Parsing
  • Engineering
    • More than 95% test cover
    • Automatically handle async resources loading, including models, images and videos. You don't need to write some code like image.onload = ...
    • Using github workflow
    • Build && test using pure node.js scripts and typescript compiler, without gulp or grunt, webpack and bash , etc.
    • Generate a typescript declaration file .d.ts to provide type hint.

Contribute:

See CONTRIBUTING.md.

License

The MIT license.