Skip to content

jj-143/tinyrenderer-js

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

35 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Tiny Renderer in JS

A JavaScript implementation of TinyRenderer based on the wiki to understand how OpenGL works. Live Demo

PROGRESS

  • Lesson 1 - Bresenham’s Line Drawing Algorithm
  • Lesson 2 - Triangle rasterization and back face culling
  • Lesson 3 - Hidden faces removal (z buffer)
  • Lesson 4 - Perspective projection
  • Lesson 5 - Moving the camera
  • Lesson 6 - Shaders for the software renderer
  • Lesson 6bis - tangent space normal mapping
  • Lesson 7 - Shadow mapping
  • Lesson 8 - Ambient occlusion

TODO

  • refine two-pass rendering process (depth)
  • [Demo] add shader picker
  • [Demo] add light position slider
  • [Demo] add model picker
  • possible performance gain from matrix with 1-D TypedArray, opposed to 2-D Array?