Giter Site home page Giter Site logo

ethz-computer-graphics-course-notes's Introduction

ETHz-Computer-Graphics-Course-Notes

Personal notes for ETHz Computer Graphics HS2022 written in obsidian flavored but also github flavored markdown. You could also find pdf version but they might not be properly adjusted since I output them directly from my obsidian vault. Using obsidian and topaz theme is mostly recommended.

The notes are mainly adapted from the course slides in a more organized way. Some topics that are not explained in details in the slides are extended in the notes. However not all topics are covered. Some topics are more related to computer vision and you could find them in my another repo ETHz Computer Vision HS2022.

Materials and papers I used to write these notes are included in the repo and you could find the references in the notes.

Additionally, you could find in this repo Computer Graphics ETHz 2022 Rendering Project the assignments of the course and all the source code. However, for you own good, please don't simply copy them to finish the assignments.

Hope you enjoy this computer graphics course!

Source of Light

Incandescence

Luminescence

Quantifying Light(Radiometry)

Flux

Irradiance

Radiosity

Radiant density

Radiance

Parametric

Parametric Curves

Parametric Surfaces

Volumetric Density

Implicit

Signed Distance Function

Procedural Implicits

Discrete/Sampled

Point Set Surfaces

Polygonal Meshes

BRDF

Refection Equation

BRDF Properties

Simple BRDF and BTDF Models

Lambertian

Ideal Specular Reflection

Ideal Specular Refraction

Ray Definition

Parametric Form

Ray Generation

Intersection

Intersection with Analytical Shapes

Spheres
Planes
Triangles

Shading

Rejection Sampling

Disk

Sphere

Hemisphere

Sampling Arbitrary Distributions

The Inversion Method

Sampling 2D Distributions

Area-Preserving Sampling

Uniform(Area-Preserving) Sampling of a Disk
Uniform(Area Preserving) Sampling a Unit Sphere/ Hemisphere/ Sphere Cap
Cosine-weighted Hemispherical Sampling
Beckmann Distribution

Monte Carlo Method

Importance Sampling

Definition

Formulation

Hemispherical Form

Surface Area Form

Sampling Light Sources

Point Light

Spot Light

Directional Light

Quad/Area Light

Sphere Light

Mesh Light

Importance Sampling

cos Term

BRDF

Incident Radiance

Combining Multiple Strategies

Multiple Importance Sampling

Ways of Combination

Naïve combination of 2 sampling strategies
Weighted combination of 2 sampling strategies
Weighted combination of M sampling strategies

Choice of the Weights

One-Sample Model

Environment Lighting

Light Paths

Recursive Rendering Equation

Solving the Rendering Equation

Path Tracing

Light Tracing

Path Integral Framework

Bidirectional Path Tracing

Photon Mapping

Progressive Photon Mapping

Physics Background

Media

Phase Function

Isotropic Scattering
Henyey-Greenstein Phase Function
Schlick's Phase Function
Rayleigh Scattering
Lorenz-Mie Scattering

Volume Rendering Equation

Solving the Volume Rendering Equation

Single scattering

Homogeneous Media

Heterogeneous Media

Ray Marching
Delta Tracking

Volumetric Photon Mapping

Optics Recap

Paraxial Focusing

Lens

Aperture

Depth of Field

Thin Lens

Motion Blur

Chromatic Aberration

Typical Color Imaging Pipeline

Rendering with No Geometry

Plenoptic Modeling

Light Field Rendering

Unstructured Lumigraph

Rendering with Implicit Geometry

View Interpolation

View Morphing

Rendering with Explicit Geometry

Depth-based Rendering

View-Dependent Texture Mapping

Sampling and Reconstruction Theory

Ideal Sampling and Reconstruction

Aliasing

Source of Aliasing

Anti-aliasing

Evaluating Sampling Patterns: Discrepancy

Low Discrepancy Sampling Methods

Stratified(Jittered) Sampling

Latin Hypercube(N-Rooks) Sampling

Multi-jittered Sampling

Hammersley and Halton Sequences

(0,2)-Sequences

Image-Based Denoising

Bilateral Filter

NL-Means

Data Driven Denoising

Photometric Stereo

Automatic Differentiation

Volume Optimization

BRDF Measurement

Colorimetric Calibration

Lighting Estimation

Spatial Decomposition

Uniform Grid

KD-Trees

Octrees

General BSP(Binary Space Partition) trees

Object Decomposition

Bounding Volume Hierarchies

Ray-AABB Intersection

ethz-computer-graphics-course-notes's People

Contributors

ccetaw avatar

Stargazers

Emircan Gündoğdu avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.