CS 488: Lab 1 – Points

Welcome to lab, which is a place where you and your peers complete exercises designed to help you learn the ideas discussed in the preceding lectures. It is intended to be a time where you encounter holes in your understanding and talk out loud with your peers and instructor. Your instructor will bounce around between […]

CS 430 – Programming Languages


CS 488: Lecture 1 – Points

Dear students: Welcome to CS 488 – Computer Graphics Applications. This is a class where we learn how to make output that non-computer scientists can enjoy. In particular, the output is 3D and interactive. You can show the 3D worlds that you make in this class to others, and you will be a hero. Graphics […]

CS 430: Lecture 1 – Programming Languages

Dear students, Welcome to CS 430: Programming Languages! What’s this class about? Well, imagine you are a biology student taking a course on mammals and every lecture, lab, and homework is on cows. You wouldn’t really be a biologist at the end of the course. You’d be a cowist. A cow gives you one picture […]

Project 4: Mapquest

In this project, you will create a first-person walker. The user will use the keyboard and mouse to navigate around a terrain and collect objects. The terrain, the collectibles, and the other objects in the environment fit a coherent theme of your choosing. For example, an alien might traverse the moon and collect flags, ignoring […]

Project 3: Gyromesh

In this project, you will create a viewer for arbitrary triangular meshes written in the OBJ format. The user can rotate the mesh in any direction using the mouse. If the movement is forceful, the mesh will continue to spin on its own. Requirements To receive credit for this project, you must meet the following […]

Project 2: Boxels

In this project, you will create an application that renders “boxelated” sculptures. You will coarsely approximate real-life objects using box primitives. The box locations and sizes will be stored in a text file, read in, and rendered in a rotisserie display. This project is inspired by the work of NVIDIA researcher Morgan McGuire. Requirements To […]

Project 1: Rastercaster

In this first project, you will create a sandbox for experimenting with fragment shaders and the OpenGL Shading Language (GLSL). You will render a single, screen-filling quadrilateral and paint designs on it using only algorithms that can be expressed in the fragment shader. This project is inspired by Shadertoy. Requirements To receive credit for this […]

Project Setup Instructions

The first step in building an interactive graphics program is an ugly one: you have to choose a graphical user interface (GUI) framework. This step is ugly because there are many frameworks, they are all different, they tend to obsolesce, and they often draw you into a mire of platform-specific issues. But you have to […]

1 2 3 219