CIS 700 - Special Topics in Procedural Graphics

Spring 2016 - University of Pennsylvania | Rachel Hwang


Brian Tong
Dan McCann
Mariano Merchante

Procedural Wing

Brian Tong
Mariano Merchante


Andrea Lin
Tabatha Hickman
Emily Vo

Shape Grammar

Rishabh Shah
Zack Elliot
Tabatha Hickman
Mariano Merchante


Dan McCann

Crowd Simulation

Zack Elliot

Course Description

Sprawling cities, dense vegetation, infinite worlds — procedural graphics empower technical artists to quickly create complex digital assets that would otherwise be unfeasible. This course is intended to introduce the algorithmic foundations of procedural modeling, texturing and animation techniques, and to offer hands-on experience designing and implementing “visual recipes” in original graphics projects by applying these methods. Students should have a strong interest in both the creative and technical aspects of computer graphics, as well as a solid programming background.


CIS 460/560

Course Goals

  1. Learn a toolkit of interesting procedural generation techniques
    • Understand the underlying theory
    • Develop intuitions about how to apply and parameterize
  2. Get familiar with new tools/technology for procedural artwork
    • javascript / three.js
    • Houdini
  3. Start or continue developing a portfolio of visually and technically inpressive work
  4. Practice approaching unstructured, open-ended problems

Grading Policy

In-class exercises (20%), weekly homework assignments (50%) and the final project (30%) will constitute all of the grading for this class. Grading will be on the basis of the following:

  • Use of techniques: Does you assignment apply the techniques discussed in class in an interesting way? Did your approach to the project demonstrate creative thought?
  • Engineering effort/organization: Was your code well-structured, demonstrating a good understanding of software engineering principles?
  • Visuals: Ultimately, this class is about producing algorithmic visual output, so the look of your procedural artwork is important. We will not grade on the basis of whether we like your style, but we will grade based on how well you were able to achieve your intended effect, and how much effort you put into polishing the output.