CS 488: Lab 12 – Flashlight

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: Lecture 9 – Abstraction and Object-oriented Programming

Dear students, Computer scientists spend considerable time tinkering under the hood of their systems. Their clients, however, are happy to only have a few buttons to push to make those systems work. A simpler view of a complex system is called an abstraction. When a humane abstraction is available, clients can ignore irrelevant and low-level […]

CS 488: Lecture 21 – Perspective

Dear students: Why do things farther away appear smaller? And how do we achieve that effect in our renderers? We answer these questions today as we explore the perspective matrix. How Real Eyes Work Our eyes are complex organs, and we will reduce them to an abstraction that is easier to model in code. In […]

CS 488: Lecture 22 – Spotlights and Projective Texturing

Dear students: Today we examine two new lighting effects. First we focus light along a particular direction to produce a spotlight effect. Second we broadcast an image from a light source, just as our projectors broadcast input from a DVD player or our computer. Such textures are not bound to a particular object, like our […]

CS 488: Lab 11 – Marble Torus

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 19 – Value Noise

Dear students: Algorithms produce visual content that is too perfect. We humans see the artifice and find it distasteful. When we explore the physical world, we see surfaces full of splotches and cracks. To achieve similar imperfections in algorithmic content, we introduce randomness. But pure randomness will take us to the opposite extreme of chaos. […]

CS 488: Lecture 20 – Perlin Noise

Dear students: Last time we examined value noise as a means of adding coherent randomness to too-perfect surfaces to make them feel more natural and less algorithmic. We continue that discussion today, but explore a different noise generation scheme invented by Ken Perlin. The Rise and Fall of Value Noise The algorithm for generating value […]

CS 488: Lab 10 – 3D Modeling

Welcome to lab, which is usually a place where you and your peers complete exercises designed to help you learn the ideas discussed in the preceding lectures—but not this week. Your task in this lab is to work individually through some tutorials on 3D modeling. You pick the tutorials and the amount of them according […]

CS 488: Lecture 18 – Modeling in Blender

Dear students: In game studios, roles are usually divided. There are engineers, artists, UX people, sound people, game designers, managers, and other roles. Each role has their expertise, but they should be familiar with the activities of others. Today, we engineers will explore what its like to be a 3D artist. We will interactive work […]

CS 430: Lecture 8 – Activation

Dear students, Today we take a foray into a technical topic: the mechanics of calling functions. We might think this is information that is pretty well hidden from us when we’re writing in a high-level language. But abstractions leak. The way that functions are called bubbles up into the design of our languages. Having some […]

1 2 3 223