quick facts

Class: CS 250 - Computer Graphics II

Time Frame: 1 Semester

Download

Ray Casting

This is the final project for CS 250, the Computer Graphics Class II class. This project implements a software 3D renderer with texturing. All triangle calculations and fills are performed on the CPU, and as such the project may run very slowly. No OpenGL calls other than glDrawPixels and glutSwapBuffers are called for rendering anywhere inside this project. The project also contains the Bresenham Line Algorithim for efficient line drawing in wireframe mode.

The final result is an implementation of the 3D graphics pipeline, complete with backface culling, triangle clipping (near plane only in this assignment), naive view frustum culling, texturing, and Z-buffer. The project is implemented in C++.

The project renders a grid size 16x16x3 of cubes.

Controls

WASD - Look around
Space - Move forward
B - Move backward
Z - Roll Left
X - Roll Right

F - First person view
T - Third person view

O - Wireframe Mode
P - Textured Mode
I - Z-Buffer Mode

Screenshots