Graphics Projects

Here is a bunch of graphics-related projects I’ve worked on.

Hand sketches using Perlin noise

I write up some toy programs that use Perlin noise to simulate hand-drawn lines. It takes drawings represented by a series of lines and makes them more fluid and messy. Using this same technique, I wrote up some more demos that simulate lightning with animated Perlin-noise lines. Here is a simple example:

HandDrawn Lightning2


Ray Tracer
This was a joint project with Adam Stirtan who worked on ray tracer efficiency and model loading among other things.

Cel shaded render style

Cel shaded render style

Bloom filter pass

Bloom filter pass

Semantic depth of field with a Sobel pass

Semantic depth of field with a Sobel pass

Semantic depth of field using blur

Semantic depth of field using blur

Hue-mapped shader

Hue-mapped shader

Awesome effect

Awesome effect

More screenshots of my crazy render pass


JS_RayTracer_Crazy_D JS_RayTracer_Crazy_C



2D-in-3D Rendering Engine

This was a university project I created in OpenGL which used GLSL for some of the rendering strategies. The engine featured Z-axis aligned billboard animated sprites, skyboxes, and selectable render strategies for tiles.

JS_Board_Jan15_2009_A JS_Board_Jan15_2009_B

I decided to redo the engine using the Irrlicht Game Engine. So here’s what I had when I was working on it.


Image Filter Experiments


Portal Clone
A while ago I tried to make a portals system using the Java implementation of the Irrlicht Game Engine (Jirr)


1 Comment

  1. Adam said,

    That ray tracer was probably the apex of fun I’ve had in University.

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: