Spring 2023

Brown University

CSCI 2240 is a comprehensive exploration of 3D graphics, diving into rendering, geometry processing, simulation, and optimization. Expect a mathematically intensive approach to topics such as light transport physics, 3D triangle mesh algorithms, and 3D shape optimization. Culminating in an open-ended project, students will be equipped to undertake graphics research and delve into recent research papers.

CSCI 2240 is an advanced computer graphics course. It assumes prior experience with the fundamentals of computer graphics, typically by having completed an introductory computer graphics course. The course explores several key areas of 3D graphics---rendering, geometry processing, simulation, and optimization---taking a mathematically-sophisticated approach to each. We will study computational approximations to the physics of light transport and the motion of deformable objects, algorithms for processing 3D triangle meshes, and optimization-based techniques for manipulating 3D shapes. The course culminates with an open-ended, group final project in which students choose a recent research paper of interest and implement the techniques it describes.

The following skills will be necessary for this course:

**Computer Graphics:**This course assumes familiarity with the fundamentals of computer graphics, such as 3D transformations, viewing and projection, basic illumination models, raytracing, and OpenGL. Brown's introductory computer graphics course, CSCI 1230, is a prerequisite for this course. Similar courses from other institutions may also be acceptable.**Software Engineering:**The assignments in this course, and particularly the final project, require you to design, develop, and debug large pieces of software. The project work required for CSCI 1230 should be sufficient preparation. If you took an introductory graphics course elsewhere that did not emphasize large software projects, you should have experience with building such projects from other courses.**Math:**The techniques we will explore in this course are based on physics concepts, involve geometric calculations in three-space, and/or require solving large systems of equations. Familiarity with linear algebra and vector calculus are important for successfully understanding and applying these techniques.

If you are not sure whether you can/should take the course, we encourage you to show up to the first class and talk to the instructor.

Students who complete this course will:

- Understand the physics of light transport and be able to implement approximate solutions to the rendering equation.
- Understand the strengths and weakness of different geometry representations and be able to build efficient algorithms for processing and manipulating meshes.
- Know how to pose graphics problems as quadratic optimization problems and solve the resulting sparse linear systems.
- Understand the continuum mechanics governing the motion of solid objects and be able to simulate them through finite element approximations.
- Build depth of knowledge in one area of computer graphics by completing an open-ended final project.
- Be able to read technical papers in the graphics literature and implement the algorithms they describe.

More holistically: completing this course will take you from "I know the fundamentals of computer graphics" to "I can read and implement graphics research papers and contribute to new graphics research." Students who complete this course will be well-prepared to begin an academic research career in computer graphics or to join an industrial research and development lab.

Accordingly, this course is challenging. On your journey to becoming an independent graphics researcher/practitioner, expect to be pushed out of your comfort zone. It is totally normal to struggle with some assignments in this course (to which the TAs can attest). If you feel stuck, remember: we're here for you! Take advantage of office hours and ask for help from your fellow students on Slack.

There is no required textbook this semester. Readings relevant to each course assignment will be posted on this website. Optionally, you might consider purchasing The Graphics Codex, which costs only $10 and provides reference materials which can be useful for the first part of the course (on rendering).

Lecture slides available at Course Schedule

No videos available

Assignments available at Assignments

No other materials available

ARAP (As-Rigid-As-Possible surface modeling)Advanced MaterialsAdvanced SamplingBidirectional reflectance distribution function (BRDF)Continuum MechanicsDirect LightingFinite Element Method (FEM)Geometry ProcessingGeometry RepresentationsIdeal Specular ReflectionImage FilteringLight Transport AlgorithmsLinear SolversMesh SimplificationMonte Carlo IntegrationOptimization in GraphicsPath tracingPhysically based animation (simulation)Polygon meshRadiometryRefractionRemeshingRendering EquationRussian RouletteSubdivision surfaceTone MappingUniform Hemisphere Sampling