Introduction to Computer Graphics and Imaging (Fall 2015)

Home | Lectures and Readings | Assignments and Exams | Showcase |
---|

Date | Contents |
---|---|

09/22/2015 | Welcome to the CS 148 Fall 2015 Website! |

09/22/2015 | Assignment 1 has been posted. |

09/29/2014 | Assignment 2 has been posted. |

10/06/2014 | Assignment 3 has been posted. |

This is the introductory prerequisite course in the computer graphics sequence which introduces students to the technical concepts behind creating synthetic computer generated images. The beginning of the course focuses on using OpenGL to create visual imagery, as well as an understanding of the underlying mathematical concepts including triangles, normals, interpolation, texture mapping, bump mapping, etc. Then we move on to a more fundamental understanding of light and color, as well as how it impacts computer displays and printers. From this we discuss more thoroughly how light interacts with the environment, and we construct engineering models such as the BRDF and discuss various simplifications into more basic lighting and shading models. Finally, we discuss ray tracing technology for creating virtual images, while drawing parallels between ray tracers and real world cameras in order to illustrate various concepts. Anti-aliasing and acceleration structures are also discussed. The final class mini-project consists of building out a ray tracer to create visually compelling images. Starter codes and code bits will be provided here and there to aid in development, but this class focuses on what you can do with the code as opposed to what the code itself looks like. Therefore grading is weighted towards in person "demos" of the code in action - creativity and the production of impressive visual imagery are highly encouraged. Prerequisites: CS 107, MATH 51.

This is the first course in the computer graphics sequence at Stanford. The second course is CS248 and requires this course, CS 148, as a prerequisite. Topics include: Scanline Rendering; OpenGl pipeline; Triangles; Rasterization; Transformations; Shading; Triangle Meshes; Subdivision; Marching Cubes; Textures; Light; Color; Cameras; Displays; Tone Mapping; BRDF; Lighting Equation; Global Illumination; Radiosity; Ray Tracing; Acceleration Structures; Sampling; Antialiasing; Reflection; Transmission; Depth of Field; Motion Blur; Monte Carlo; Bidirectional Ray Tracing; Light Maps.

- CS 107, MATH 41-42
- Must be fluent in C/C++ and familiar with modern development tools such as Visual Studio, XCode, or the GNU toolchain
- We will assume knowledge of the following mathematical topics
- Vectors, vector operations, and vector spaces
- Matrices
- Basic linear algebra such as solving a system of linear equations
- Polynomials
- Elementary signal processing (Fourier transform and filtering)

- Tuesdays and Thursdays, 10:30am to 11:50am, Gates B3.

- Instructor
- Ron Fedkiw
- Office Hours: Tuesdays and Thursdays from 12:00pm to 1:00pm in Gates 207

- Course Assistant
- Michael Bao
- mikebao [at] stanford [dot] edu

- Course Assistant
**Jenny Jin**- njin19 [at] stanford [dot] edu

- Course Assistant
**Shannon Kao**- kaos [at] stanford [dot] edu

- Course Assistant
**Marianna Neubauer**- mhneub [at] stanford [dot] edu

- Course Assistant
**Hanna Katherine Winter**- hannawii [at] stanford [dot] edu

- First half of the quarter: 9/21 - 10/23.
- Michael: Friday 10am-12pm, 1-3pm, Gates 210.
- Jenny: Wednesday 4-6pm, Thursday 4:30-6:30pm, Gates 209.
- Shannon: Thursday 3-5:30pm, Friday 9-11am, round tables in Gates second floor near the stairs.
- Marianna: Wednesday 12:45-2:45pm, round tables in Gates second floor near the stairs.
- Hanna: Thursday 3-6pm, Friday 1-3:30pm, round tables in Gates second floor near the stairs.

- Second half of the quarter: 10/26 - 12/4.
- Michael: Thursday 1-3pm, and Friday 10am-12pm, Gates 210.
- Jenny: Wednesday 4-6pm, Friday 10am-12pm, Gates 209.
- Shannon: Thursday 3-5:30pm, Friday 9-11am, round tables in Gates second floor near the stairs.
- Marianna: Wednesday 12:45-2:45pm, open area in Gates second floor.
- Hanna: Thursday 3-6pm, Friday 1-3:30pm, round tables in Gates second floor near the stairs.

Piazza will be used for Q&A in CS 148. Please enroll yourself through Piazza. For all other inquiries, you can email the course staff at cs148-aut1516-staff [at] lists [dot] stanford [dot] edu.