CIS 700 - Special Topics in Procedural Graphics
Spring 2016 - University of Pennsylvania | Rachel Hwang
Noise
Procedural Wing
L-Systems
Shape Grammar
Shaders
Crowd Simulation
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.
Prerequisites
CIS 460/560
Course Goals
- Learn a toolkit of interesting procedural generation techniques
- Understand the underlying theory
- Develop intuitions about how to apply and parameterize
- Get familiar with new tools/technology for procedural artwork
- javascript / three.js
- Houdini
- Start or continue developing a portfolio of visually and technically inpressive work
- 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.