Hi, I’m Chris

I’m an award-winning senior lecturer in the School of Interactive Games and Media at the Rochester Institute of Technology. I teach introductory programming and real-time graphics programming for games. When I’m not teaching graphics, I’m probably thinking about graphics (or playing Dungeons & Dragons).

Projects

Visual Portfolio, Posts & Image Gallery for WordPress

d3d11.js

D3D11-style wrapper around WebGL2, including HLSL support

ShapeBatch

MonoGame helper library for drawing 2D primitives

Teaching

My exact teaching schedule varies from year to year, but I generally teach the following courses.

Game Development and Algorithmic Problem Solving 1 & 2

A two-course introductory programming sequence for Game Design & Development students. These courses use C# to teach the fundamentals of programming, data structures and algorithms. As part of the second course, students learn the MonoGame framework and create a game of their own design in small teams throughout the semester.

Foundations of Game Graphics Programming

Students learn the basics of GPUs, graphics APIs and rasterization-based pipelines using Direct3D 11. Topics and corresponding assignments include basic lighting, PBR lighting, texturing, normal mapping, sky boxes, shadow mapping and post processing.

Game Graphics Programming 2

This course continues the topics started in Foundations of Game Graphics Programming. It begins with a deep dive into a modern graphics API, Direct3D 12, and then covers offline and real-time ray tracing (DXR), advanced post processing, particle systems, compute shaders and more.