Awesome 3D Viewer

This is my homemade WebGL2 3D engine with vanilla JavaScript. It loads several .obj model files and textures with lights. More importantly, it does not use any 3D libraries like Three.js and babylon.js.

The main purpose of this application is to demonstrate my strong understanding of the fundamentals of computer graphics and how to use modern graphics API to build an interactive web application.

Keyboard shortcuts:

1 2 3 4 5 6
Model change
w a s d
Camera movement
z
Projection mode switch (orthographic/perspective)
x
Drawing mode switch (triangles/points/lines)

Mouse controls:

Scroll wheel in/out
Zoom (in/out)
Right mouse button drag
Camera arcball rotation (orbit)
Left mouse button click
Enable/disable model rotation