Computer Graphics : Rendering and Modeling 3D Scenes (CG)

Ray tracing to global illumination

Description

The objective of this course is to know how to model 3D scenes and to realistically render them with methods based either on the OpenGL API, or on the ray tracing method using statistical methods. The rendering methods based on OpenGL are faster and fully exploit the performances of the graphics cards (use of hundreds of processors within the GPU, Graphics Processing Unit) using Shaders. As for the rendering methods based on ray tracing, they are more elegant, make use of a Monte Carlo approach and allow to provide high realism results, but are time consuming. Before rendering a 3D scene we have to create it. This is the aim of geometric modeling. We will see how to create 3D scenes: simple objects, more detailed objects (CSG, mesh, etc.), parametric surfaces (Bézier, Splines, NURBS, etc.).

Contents

  1. Geometric modeling
  1. facets, mesh, CSG, parametric curves and surfaces
  2. texturing
  3. camera
  4. lights
  1. Ray tracing
  1. principle
  2. algorithm
  3. fast data structures (3D grid, BVH, Kd-Tree)
  1. Physically-based rendering
  1. physics of light
  2. rendering equation
  1. Application of Monte Carlo to rendering

Monte Carlo evaluation of rendering equation: stopping recursion

  1. principle
  2. Monte Carlo method to evaluate an integral
  3. path tracing

1 ray per pixel

4 rays per pixel

16 rays per pixel

256 rays per pixel

subsampling pixels

  1. HDR imagery and tone mapping
  1. Introduction to the OpenGL graphics pipeline
  1. vertex buffers: coordinates, normals, textures coordinates
  2. textures
  3. shaders (Vertex, Fragment)

Agenda 2018-2019

  1. Tuesday, Sep. 18, 2018:         10h15-12h15         (Bruno Arnaldi)
  2. Thursday, Sep. 20, 2018:         16h15-18h15        (Rémi Cozot)
  3. Tuesday, Sep. 25, 2018:         10h15-12h15         (Rémi Cozot)
  4. Thursday, Sep. 27, 2018:         16h15-18h15        (Bruno Arnaldi)
  5. Tuesday, Oct. 2, 2018:         10h15-12h15         (Bruno Arnaldi)
  6. Thursday, Oct. 4, 2018:         16h15-18h15        (Rémi Cozot)
  7. Tuesday, Oct. 9, 2018:         10h15-12h15         (Bruno Arnaldi)
  8. Thursday, Oct. 11, 2018:         16h15-18h15        (Rémi Cozot)
  9. Tuesday, Oct. 16, 2018:         10h15-12h15         (Bruno Arnaldi)
  10. Thursday, Oct. 18, 2018:         16h15-18h15        (Rémi Cozot)

  1. Tuesday, Nov. 6, 2018:         10h15-12h15         Exam part 1
  2. Thursday, Nov. 8, 2018:         16h15-18h15        Exam part 2

Teachers


Last update: June 2018 - Author: Rémi Cozot