Overview
This program showcases cel-shading technology as well as collision detection. The objects are all hierarchically modeled and the skybox and ground are textured. The camera is a basic fps camera based on program 3. Movement is bounded by the ground and the skybox.
Features
1. Cel-Shading
The cel-shader, like phong shading, combines ambient, diffuse and specular lighting. The diffuse lighting has a gradient based on the light intensity, rather than being smooth. Outlines are drawn based on the light intensity at the given point.
![](cel.png)
The picture below shows the same scene with the phong shader. (Switch shaders using the '2' button)
![](phong.png)
2. Textures
The ground and sky are both textured.
![](texture.png)
3. Collision Detection
Below shows the collision detection in action.
![](collide.gif)
4. Hierarchical Modeling
All of the objects are modeled hierarchically.
![](hier.png)
How to Use
Movement
- WASD keys to move around.
- Click and drag to look.
- 'f' key toggles fly mode.
Object Control
- '1' to toggle movement.
- '-' to decrease speed.
- '+' to increase speed.
Shader Control
- '2' to toggle between phong and cel shading.