Programs

The following are small applications and demos made for various classes and projects.

Graphics


Thumbnail

Edge Test

This program implements a basic edge detection technique I’m studying for my thesis. It is mostly complete, but still needs a good linear depth buffer generator that can handle more than typical depth resolution. This application renders the edges of objects using a double pass render that uses Sobel’s filter on the normal and depth buffers.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.

Controls

  • Left-click and drag to view the scene from different angles
  • Zoom in and out with the scroll wheel

Requirements

  • Windows XP
  • OpenGL 2.1 (modern shader support, comes with graphics drivers)
  • GLUT

Download here

Thumbnail

GLSL Engine

This program was created to allow me to test different types of shaders for my thesis work. I made a wrapper for a lot of the OpenGL functionality relating to shaders. This program is still in development, but features three shaders to try out.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.

Controls

  • Use the menu to switch shaders and toggle various debug options
  • Left-click and drag to view the scene from different angles
  • Zoom in and out with the scroll wheel
  • Manual Camera Control
    • A – strafe left
    • D – strafe right
    • W – move forward
    • S – move backward
    • E – rise
    • C – fall
    • J – yaw left
    • L – yaw right
    • K – pitch up
    • I – pitch down
    • U – roll left
    • O – roll right

Requirements

  • Windows XP
  • OpenGL 2.1 (modern shader support, comes with graphics drivers)
  • GLUT

Download here

Thumbnail

Ray Tracer

This contains the entire project for our Ray Tracing class. We kept adding new features throughout the semester. This ray tracer can recognize several types of shapes, materials, and cameras. There is a special file format it reads, designed by Professor Jason Hanson. Several example scenes and the scene specification format have been included with the project.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.

Controls

  • Open scene files via the menu
  • Adjust the options via the menus or use the shortcuts listed there
  • Choose one of several rendering types to begin ray tracing
  • If you want a larger image, just resize the window to the desired size

Requirements

  • Windows XP

Download here

Thumbnail

Occlusion Demo

This was our occlusion graphics project. The wireframe boxes are rendered this way to prove that the boxes behind them are correctly occluded. The technique uses a special depth buffer and object buffer, all manually generated and mip-mapped to interact with the scanline renderer built into the framework.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.

Controls

  • Left-click and drag to view the scene from different angles
  • Avoid pressing other buttons, some framework functions may still be enabled and could lead to crashes

Requirements

  • Windows XP
  • OpenGL (basic support, comes with graphics drivers)
  • GLUT

Download here

Thumbnail

Bump Mapping Demo

This was our bump mapping graphics project. It toggles between using normal textures and using a bump texture. The bump mapping effect was done manually in the scanline renderer framework.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.

Controls

  • Left-click and drag to view the scene from different angles
  • Press ‘g’ to toggle bump mapping
  • Avoid pressing other buttons, some framework functions may still be enabled and could lead to crashes

Requirements

  • Windows XP
  • OpenGL (basic support, comes with graphics drivers)
  • GLUT

Download here

AI


Thumbnail

Zombie Attack

This program was built to learn about state machine-based AI. I simulated interactions between zombies, civilians, and police officers. Over a period of time, either all the population will turn into zombies (and rapidly die) or a portion of the population will remain with no zombies left.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.

Controls

  • This program doesn’t involve user interaction

Requirements

Download here

Thumbnail

A* Pathfinding

This is my implementation of A* pathfinding. The avatar can avoid objects as it travels from its starting point to the selected goal. There are lots of options available to customize the experience, all available through the on-screen buttons.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.

Controls

  • Left-click points on the plain to choose a goal for the avatar
  • Toggle through onscreen button options

Requirements

Download here

Other


Thumbnail

Curve Editor

This program contains implementations of most of the curve algorithm techniques I learned in our curves and surfaces class. These include several variations of De Casteljau for Bezier Curves, Interpolating Polynomials and Splines, and De Boor Algorithm for B-Spline Curves. There is also a mode for offset curves, a research project I did as part of my extra Masters-level requirements.

Copyright Notice

All content © 2009 DigiPen (USA) Corporation, all rights reserved.
Math.Net Iridium library © 2008-2009 Christoph Rüegg and other Math.Net members.

Controls

  • Left-click to set points
  • Right-click a point to delete it
  • Left-click and drag points to move them around
  • Use the side menus, buttons, and options to switch to different curve types and show data on curve construction

Requirements

Download here

Last Updated: January 20, 2010