CS 488: Lecture 6 – Lit Sphere
Dear students: Our goal today is to add lighting to our renderer. To make this work, we need a new mathematical tool: the vector. First, we take a tour through a handful of operations that we’ll need to work with vectors. Second, we’ll apply these operations to compute the “litness” of every fragment on the […]
CS 488: Lab 3 – Rotating Tetrahedron
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 488: Lecture 5 – The Third Dimension
Dear students: Our goal today is to render a rotating cube. No more flat geometry—we’re going to the third dimension! A few new concerns arise as we get more and more triangles in our scenes. We will overcome them with the power of our graphics API. Indexed Triangles In most of our computer games, triangles […]
CS 488: Lecture 4 – Spaces and Orthographic Projections
Dear students: Let’s step back and look at where we are. We can make shapes out of triangles. We can color them. We can move them around and resize them using a compact and fast system of matrices. We can tie these transformations to mouse events. That’s pretty nice. Where do we go next? It’d […]
CS 488: Lab 2 – Matrices
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 488: Lecture 3 – Vectors and Matrices
Dear students: Last time we explored the three common transformations that we use to move objects around the screen. We saw how to apply one transformation at a time using slow mathematical operations. Today we will learn a system for applying an arbitrarily long sequence of transformations in constant time. The system is built on […]
CS 488: Lecture 2 – Triangles and Transforms
Dear students: Last time we discussed plotting individual points to the framebuffer and the role of vertex and fragment shaders. Today we explore how to stitch those points together into filled shapes. I say filled shapes, but in reality, we will only stitch them together in triangles—never quadrilaterals, pentagons, hexagons, or anything else. We limit […]
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 […]
Project 5: Skeletal
In this project, you will explore skeletal animation and the popular 3D graphics API THREE.js. The requirements are intentionally open-ended so that you can direct your learning in ways you want it to go. Requirements To receive credit for this project, you must meet the following requirements: Create your project in a folder named skeletal […]
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 […]