Matthew Radtke

Graphics Projects

Introduction Assignment

This is the first project that started our computer graphics journey.

Hierarchical Modeling - Simple 2D

In this project, we first began to see how hierarchical modeling works inside a graphics environment.

Hierarchical Modeling - Simple 3D

In this project, we first began to see how hierarchical modeling works inside a graphics environment.

A complete 3D viewing Pipeline

You will create 3D animation using the JavaScript 2D canvas. We have approached this goal before, in our previous assignments, but this time you will be exposed to all pieces of the pipeline (3D transformations, viewing transformation, visibility, etc) even more thoroughly. This time you will draw solid objects (filling triangles). You will also implement a simple visibility algorithm (painter's algorithm), and optionally experiment with normal computations and shading.

Simple and Fancy Shader Programs

Here we first began to work look at and understand the graphics pipeline by taking advantage of the GPU. This was accomplished by writing vertex and fragment shaders to get a better understanding of how all of these things fit together.

WebGL intro Program

Learning Objective: To help you understand how the principles of the graphics pipeline materialize into a concrete drawing task, and understand how WebGL enables you to formalize and orchestrate this process. The important next step that you will take in this assignment is to understand how they fit within the broader WebGL API (and the rest of your JavaScript application).

Graphics Town

The final project for my Computer Graphics class at UW-Madison. It required us to implement almost all the concepts learned in the class across the entire semester. A framework was provided that allowed the students to program in models into the "Graphics Town".

Concepts applied include: Texturing, Texture coordinates, multi textured surfaces, bump mapping, programming 3D models, 3D modelling transforms and basic transforms via TWGL, working with WebGL, fragment/vertex shader programming, creating a Skybox, and hermite curves.