Rendering Systems proposes that the computational image is a window into a simulated and systematized representation of reality. To create a rendering is, in effect, to create and frame a model of the entire world, from a single grain of sand to the most complicated urban environment.
Before rendering a new world, we must understand how to capture images in our current one. Over the course of the semester, we will study the fundamentals of light, physics, and perception. We will also situate the rendering in a history of media and medium specificity that overlaps with photography and drawing.
This course places a special emphasis on procedural modeling, procedural texturing, and procedural animation as techniques which serve the dual purpose of allowing for more efficient image making and deepening the image maker’s stake in the systems which underpin the final image.
All topics will remain broadly applicable to multiple 3D software engines (in fact, it is a pedagogical aim to demystify the trope of rendering engine comparisons). The class will use Blender, a free and open source application that combines a professional physically-based pathtracing renderer, a realtime (viewport) rendering engine, a powerful suite of procedural modeling tools, and a rich ecosystem of community tutorials, tools, and plug-ins. No previous experience with Blender is required, but some previous modeling experience in a CAD environment such as Rhino is useful.
The course will meet weekly on Tuesday nights at 7pm for a lecture covering a key aspect of computational rendering. The lecture will introduce and explain topics in a generalized manner with commonalities across many rendering engines, programs, and software packages. After class, students will be expected to apply their learnings in Blender, by following 30-45 min of instructional screencasts and additional optional tutorial material.
There will be 3 regular assignments (due the night before class, at 11:59pm) and a final project, to be presented at the final review.
Tell a story or show a unique vantage point with an intentionally-placed perspectival camera view. Describe how the framing, composition, and camera movement affect the viewer's experience of the image.
Find, study, and share a precedent black & white tone drawing, painting, or photo and create a rendering of a model that recreates a particular shadow or lighting effect from the precedent
Create a composite image that combines two or more render layers in a novel way.
Develop an image series that explores the inner workings of a slice, section, segment, or layer of an existing architectural or urban site. Students will use novel rendering techniques, special material, lighting, and optical effects, and a variety of procedural experimentation tools to probe their model from new vantage points and show something through rendering which couldn’t otherwise be seen. Students will depict their model as a sequence of images that show a dynamic system in motion.
Introduction to course & syllabus; discussion of Blender and rendering engines; introduction to path tracing, rendering systems, and view passes; introduce final project and show previous work
Introduction to 3D graphics; points, polygons, NURBs; normals; coordinate systems, precision; UV coordinates, shaders; geometry attributes
Primer on perspective rendering; the mechanics of the technical image; focal length; depth of field; exposure; composition; rendering as photography
A primer on lighting for rendering; exposure; area, point, and hemisphere lights; hi key and low key lighting; reading shadows to understand lighting
Atmospheric and environmental lighting; architectural lighting; tonemapping
Physically-based materials; BRDF surfaces; reflection, diffusion, transparency, fresnel; microsurfaces;
Image textures vs. procedural materials; node-based materials; material libraries
Image as data; render passes; post-processing; compositing
Procedural systems; instancing & scattering methods; vegetation; organic systems; photoscanned assets; terrain generation; ecologies and biomes
Keyframing motion; generating motion; designing systems of motion; motion graphics; rendering sequences; baking animation data
Students are expected to attend every lecture. If you are unable to attend a class meeting, please contact the instructor as soon as possible.
This course is graded on the following scale: HP (high pass), P (pass), LP (low pass), or F (fail).
Grades will be based on the following factors: 10% attendance, 20% class participation and discussion, 30% assignments, and 40% final project.
For complete policies, please refer to the GSAPP student resources.
The intellectual venture in which we are all engaged requires of faculty and students alike the highest level of personal and academic integrity. As members of an academic community, each one of us bears the responsibility to participate in scholarly discourse and research in a manner characterized by intellectual honesty and scholarly integrity.
Scholarship, by its very nature, is an iterative process, with ideas and insights building one upon the other. Collaborative scholarship requires the study of other scholars’ work, the free discussion of such work, and the explicit acknowledgement of those ideas in any work that inform our own. This exchange of ideas relies upon a mutual trust that sources, opinions, facts, and insights will be properly noted and carefully credited.
In practical terms, this means that, as students, you must be responsible for the full citations of others’ ideas in all of your research papers and projects; you must be scrupulously honest when taking your examinations; you must always submit your own work and not that of another student, scholar, or internet agent.
Any breach of this intellectual responsibility is a breach of faith with the rest of our academic community. It undermines our shared intellectual culture, and it cannot be tolerated. Students failing to meet these responsibilities should anticipate being asked to leave Columbia.
For more information on academic integrity at Columbia, students may refer to the Columbia University Undergraduate Guide to Academic Integrity as well as the GSAPP Honor System and Plagiarism Policy.
Certain assignments and/or specific tasks in this course may permit the use of generative AI tools, but only when explicitly allowed. For all other assignments, AI use is not allowed.
When approved, any such use must be appropriately acknowledged and cited.
If you find yourself uncertain about the appropriate ways and circumstances to employ it, please feel free to seek guidance from your instructor. Please be aware that each student is responsible for assessing the validity and applicability of any submitted AI output, and violations of this policy will be considered academic misconduct.