Procedural Generation and Simulation

Prof. Dr. Lena Gieseke | l.gieseke@filmuniversitaet.de | Film University Babelsberg KONRAD WOLF


houdini [Wiki: Harry Houdini]

Syllabus

This course introduces participants to procedural and simulation algorithms for 2D and 3D graphics. Focus lies on the creation of patterns and abstracted design. Topics are reflected from all sides: their underlying formal theories, their practical implementations as well as their design. Different implementation frameworks can be used, the course focuses on Houdini and GLSL.

Learning Objectives

  • Overview about techniques and their capabilities
  • Understanding of formal theories and algorithms
  • Practical implementation experiences
  • Implementation of specific design goals

Time and Place

  • Mondays, 10.00-13.30, room 6119
    • 9 sessions in total
  • 3 SWS, 4 ECTS

Method of Instruction

The class is conducted as lectures with exercises. Attendance is not mandatory.

Schedule of Topics

Chapter Title Topic
1 Introduction Topics
    Tools
    Abstraction
2 Beauty in Maths Numbers
    Formulas
3 Pattern Function Design
4 Tilings Islamic Designs
5 Noise Properties
    Function
    Cellular
6 Dynamics Forces
7 Agency Particles I
8 Complex Systems Particles II
9   Fluids?
    Crowds?
    Explosions?

Please note that the chapters and their order are subject to change!

Final Exercise

  • The last exercise is mandatory to pass the class.
  • It should be manageable in less than 16h, meaning in two days of work.
  • The project must refer to one of the lecture topics. You can come up with your own task or I will make suggestions.
  • You can also base your project on a tutorial from the internet. The result of the tutorial will not be enough however, you have to develop the project somehow further and make it your own.
  • The (hard) deadline for the final exercise is July 31st.

Evaluation

Each session results in 10 points, unless specifically stated otherwise. The final exercise counts for 30 points.

The requirements to pass the course are

  • at least 4 completed sessions with at least 70% of the points
  • the final exercise, which is an individually chosen task.

There will be a grade.

Grading

The grade is computed from the assignment points and the final exercise:

  • Only 50% of all points are needed to get a 1.7, and
  • you can hand in exercise results up until July 31st to make them count (this is a hard deadline).

Criteria

As the exercises might be relatively open-ended problems, the grading criteria are based on

  • conceptual mastery,
  • engineering effort, code / setup organization, code / setup quality, and
  • the (e.g. visual) quality.

Some tasks might have specific grading criteria, which are then indicated per task.

Materials

  • On Monday all session materials are published for the following week.
  • Usually, we will discuss the results of the assignments the following Monday.
  • You hand in all materials through GitHub.

Structure

Materials are structured as follows:

  • In Sessions you find a folder with an index for each week (session = week).
    • The README.md in each session folder gives you an overview of all the readings, assignments, practical exercises, etc. that you have to do for that week - it is your todo list! I recommend to start your work with going through that file.
    • The pgs_ss1_xx_questions.md files separate all tasks for which you have to write something. You should make a copy of that file and write and submit your answers as a copy of that file.
  • In Scripts you find all scripts.
  • In Slides you find all slides.
  • In assignments you submit your work each week to the folder with your last name and a folder with the session index. You will submit all assignments to the same folder (the one with your last name).