Rendering


1st edition (expected to be completed at 2017)
Sung-eui Yoon, Copyright 2016 - 2017

This is an on-going book that I'm writing. This covers basic rendering concepts such as rasterization, ray tracing, and various physically-based rendering techniques. It will also cover many advanced techniques such as interactive, yet high-quality rendering methods.
Why am I writing this book?
  • Rendering is one of fundamental tools for understanding various things in many applications. Even though it has been heavily studied, real-time photo-realistic rendering has not been achieved yet. As a result, this topic needs to be studied and developed further.
  • Rendering has been developed in a long time. It is very hard to catch up all the major concepts. Also, new concepts and techniques have been constantly proposed. To develop new ideas, it is very important to understand them in an effective and efficient manner.
  • There are a few books that well cover the fundamental topics of rendering. Unfortunately, those books are rather expensive and did not cover recent topics. I'll thus make my book totally free and easily accessible at the web. I will also discuss recent topics. Once materials of my book are mature, I'll try to publish my book at some publisher. Nonetheless, the book will be available freely on the web, as inspired by Planning Algorithm by Steven LaValle

  • Current materials are rough and can have many errors.
  • Please understand that these materials are in their early stages, and are not seriously reviewed yet. At many cases, I did not even review my writing yet. Nonetheless, I distribute these materials in a hope that they may be useful for some persons. Let me know if you want to provide some feedback on my writing and materials discussed here.
  • Copyright issue. In order to efficiently writing this book, I will try to re-use existing materials (e.g., figures and tables) of published papers here. I acknowledge original sources of all those materials. If you found that some materials are not properly acknowledged, please send me an email about this. Once materials of this book are mature, I will take actions to get proper permission from those original sources (e.g., ACM).

  • Materials

    Preface
    Part/Chapter Status Updated date Related materials
    Introduction 0.5 ver Feb.-27, 2017 Lecture 1 of CS380, undergraduate-level CG course

    Part I: Rasterization
    Part/Chapter Status Updated date Related materials
    Part I: Rasterization Initial version Apr-22, 2017 I teach them in CS380, undergraduate-level CG course
    - Classic Rendering Pipeline 0.6 version Feb-27, 2017
    - Transformation 0.6 ver. Mar-20, 2017 Lec.02, Lec.03, Lec.04, Lec.05 from CS380
    - Camera setting 0.5 ver. Dec., 2016 Slides of CS380,
    - Interaction 0.5 ver. March-4, 2017 Slides of CS380
    - Clipping and Culling 0.5 ver. March-11, 2017 Slides of CS380
    - Rasterization 0.5 ver. March-21, 2017 Slides of CS380
    - Illumination and Shading 0.5 ver. Apr-16, 2017 Slides of CS380
    - Texture 0.5 ver Apr-22, 2017 Slides of CS380

    Part II: Physically based Rendering
    Part/Chapter Status Updated date Related materials
    Part II: Physically based Rendering 2nd ver. Sep., 2016 I teach them in CS580, graduate-level CG course
    Codes for the part.
    - Ray tracing 2nd ver. Sep, 2016 Slides from CS580
    Programming assignment 1 and its hint
    - Radiosity 2nd ver. Sep, 2016 Slides from CS580
    - Radiometry 2nd ver. Sep, 2016 Slides from CS580
    - Rendering Equation 2nd ver. Sep., 2016 Slides from CS580
    - Monte Carlo Integration 2nd ver. Sep., 2016 Slides from CS580
    - Monte Carlo Ray Tracing 2nd ver. Sep, 2016 Slides from CS580
    Programming assignment 2 and its hint
    - Importance Sampling 2nd ver. Sep, 2016 Slides from CS580

    Unorganized Materials
    Part/Chapter Status Updated date Related materials
    Gradient-domain rendering 0.5 version Jan, 2017 slide

    Part/Chapter Status Updated date Related materials
    Bibliography Updated at Mar., 2016


    log.
  • Apr-22, 2017: uploaded 0.5 version of Part I, Texture and all the chapters of Part I.
  • Apr-16, 2017: uploaded 0.5 version of Part I, Illumination and Shading.
  • Mar-21, 2017: uploaded 0.5 version of Part I, rasterization.
  • Mar-20, 2017: uploaded 0.6 version of Part I, transformation.
  • Mar-11, 2017: uploaded 0.5 version of clipping and culling.
  • Mar-4, 2017: uploaded 0.5 version of interaction.
  • Feb-27, 2017: uploaded 0.6 version of classic rendering pipeline.
  • Feb-27, 2017: uploaded 0.5 version of a quick intro, which needs to be expanded a lot later.
  • Jan-19, 2017: uploaded 0.5 version of gradient domain rendering.
  • Dec-14, 2016: Upload 1st version of part I, camera setting.
  • Dec-4, 2016: Upload 1st version of part I, transformation.
  • Sep-4, 2016: Upload 2nd version of part II (and all of its sub-chapters).
  • Aug-22, 2016: 1st version of Importance Sampling
  • March ~ July, 2016: upload the first version of Part II
  • 2010~2015: wrote some chapters and parts of the book


  • Ack.
  • Spring semester 2017: The following students gave various comments on the rasterization part: HyungSeok Kim, NamWoong Kim