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.

       The picture below shows the same scene with the phong shader. (Switch shaders using the '2' button)

2. Textures

       The ground and sky are both textured.

3. Collision Detection

       Below shows the collision detection in action.

4. Hierarchical Modeling

       All of the objects are modeled hierarchically.

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.