A custom render engine using WebGL with the following features:
- Primitive Models such as Cubes, Spheres, and Cylinders
- Hierarchical Transformations
- Procedural Terrain Mesh Generation using Perlin Noise
- Simple Animated Water Mesh
- Ambient, Diffuse, and Specular Lighting
- Model Loading from Three.JavaScript Format (as JSON)
- Texture Mapping
- Color Gradient Sky
- Skybox
- Environment Cube Mapping
- UI Controls to Modify Program Settings
- Use M/N to move the light up/down respectively
- Use arrow keys UP / DOWN / LEFT / RIGHT to move the light forward/backward/left/right respectively
With Free Cam DISABLED
- Use keys W / A / S / D to move the center hierarchical object forward/left/backward/right respectively
- Use keys P / Y / R to pitch/yaw/roll the camera respectively
- Press SHIFT and P / Y / R to pitch/yaw/roll the camera respectively in the opposite direction
With Free Cam ENABLED
- Use arrow keys UP / DOWN / LEFT / RIGHT to move the camera forward/backward/left/right respectively in the view direction
- Use E / Q to move the camera up/down respectively
This project is licensed under the [MIT] License - see the LICENSE file for details
- toji and sinisterchipmunk
- josephg
- hguo
- 3D Models Obtained From: https://rigmodels.com/index.php