Skip to content

AyauCode/WebGLRenderer

Repository files navigation

WebGL Renderer

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

Live Demo

Controls

  • 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

Camera Controls

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

License

This project is licensed under the [MIT] License - see the LICENSE file for details

Acknowledgments

About

Custom Engine in WebGL

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published