Tópicos de Computação Gráfica
2017-2018
Prof. Doutor Abel Gomes
Associate Professor
Gab. 3.26, Fase VI
Departamento of Informática
Universidade da Beira Interior
6200-001 Covilhã
PORTUGAL
agomes@di.ubi.pt
tel: +351 275 319 891
fax: +351 275 319 899
Associate Professor
Gab. 3.26, Fase VI
Departamento of Informática
Universidade da Beira Interior
6200-001 Covilhã
PORTUGAL
agomes@di.ubi.pt
tel: +351 275 319 891
fax: +351 275 319 899
LOGBOOK:
- No classes this year. Instructor in sabbatical.
Description
- The course addresses advanced techniques for image synthesis, both in sound theoretical and practical terms, with a focus on algorithms for offline and real-time 3D graphics.
Objectives
-
In the end of this course you supposedly will be able to master the following topics:
- physical light transport, and how to simulate this behavior in a computer program;
- modern ray tracing based rendering algorithms;
- high level optimizations of the ray tracing algorithm;
- Monte Carlo integration and variance reduction;
- GPGPU-specific optimizations of ray tracing algorithms. Also, you will be able to:
- implement a Whitted-style ray tracer and path tracer;
- implement a acceleration structure construction and traversal.
Prerequisites
- Basic knowledge in linear algebra, calculus and probability theory.
- Basic course in computer graphics at the BSc level is strongly recommended.
- Good programming skills in C++.
- Highly recommended: some experience with graphics programming (e.g. OpenGL / DirectX).
Theoreticals
- T01 : Trends and challenges in computer graphics
- ----- : ACM SIGGRAPH 2017 Courses
- ----- : ACM SIGGRAPH Asia 2017 Courses
- ----- : 5 Major Challenges in Interactive Rendering
- ----- : Perception-driven Accelerated Rendering
- ----- : Deferred Rendering for Current and Future Rendering Pipelines
- ----- : Trends and Forecasts in Computer Graphics: power-efficient rendering
- ----- : The Biggest Challenges for Augmented Reality
- ----- : The 6 biggest challenges facing augmented reality
- ----- : Trends in Continuity and Interpolation for Computer Graphics
- T02 : Rasterization
- T03 : Materials and local shading
- ----- : Light transport events, material properties, reflection and transmission, reflectance equation, the BRDF, local illumination models (normalized Blinn/Phong, Cook-Torrance), shader examples.
- T04 : Ray casting
- T05 : Ray tracing
- ----- : Ray casting and recursive ray tracing, geometric optics, ray tracing acceleration structures and techniques.
- T06 : OpenGL Shading Language
- ----- : more about shaders
- T07 : Textures
- T08 : Shadows
- ----- : More about shaders
- ----- : Adhoc Shadows
- T09 : Light Transport
- ----- : The rendering equation, BSDFs, the path space, path notation and representation, recursive formulation of light transport and the light transport operator, path integral formulation, measurement equation.
- T10 : Monte Carlo Methods - Part I
- ----- : Monte Carlo integration, importance sampling, Russian roulette biased and unbiased approaches, light source sampling, gathering, environment map sampling and ambient occlusion.
- T11 : Monte Carlo Methods - Part II
- ----- : Path tracing, bidirectional path tracing, multiple importance sampling.
- T12 : Specialized/biased algorithms
- ----- : The radiosity algorithm, radiance caching, photon mapping.
- T13 : GPU algorithms for rendering
- ----- : GPU architectures, rasterization and ray-tracing GPU pipelines.
- T14 : Real-time global illumination techniques
- ----- : Deferred rendering pipelines, volume-based GI (radiance caching, light propagation, cone tracing).
Practicals
- L01 : Basic Programming with OpenGL
- ----- : Introdução a OpenGL
- ----- : C++ Explained: I
- L02 : Rasterization
- ----- : Starter OpenGL program
- L03 : GLSL starter
- ----- : 03-HelloGLSL.zip
- L04 : GLSL Illumination
- ----- : 04-GLSLIllumination.zip
- L05 : Indirect Rendering
- ----- : 05-IndirectRendering.zip
- L06 : Textures
- ----- : 06-Textures.zip
- L07 : GLSL Textures
- ----- : 07-GLSLTextures.zip
Projects
- Project I: Ray tracer on OpenGL raster with simple scenes.
- ----- : The leading idea is picking up the tracer available at < Ray Tracer Code > and display the scene on the OpenGL framebuffer.
Bibliography
- Graham Sellers, Richard Wright, and Nicolas Haemel. OpenGL SuperBible: Comprehensive Tutorial and Reference (6th Edition). Addison-Wesley Professional, 2013.
- David Wolff. OpenGL 4 Shading Language Cookbook (2nd Edition). Packt Publishing, 2013.
- Shane Cook. CUDA Programming: A Developer's Guide to Parallel Computing with GPUs. Morgan Kaufmann, 2013.
- J. Foley, A. van Dam, S. Feiner, J. Hughes. Computer Graphics: Principles and Practice (2nd edition in C). Addison-Wesley Publ. Company, 1996.
- Abel J. P. Gomes, Irina Voiculescu, Joaquim Jorge, Brian Wyvill and Callum Galbraith. Implicit Curves and Surfaces: Mathematics, Data Structures and Algorithms. Springer-Verlag, 2009.
- Jason Sanders and Edward Kandrot. CUDA by Example: An Introduction to General-Purpose GPU Programming. Addison-Wesley Professional, 2011.
- Tomas Akenine-Moeller, Eric Haines, and Natty Hoffman. Real-Time Rendering (3rd. ed.). AK Peters, 2008.
Assessment
General Assessment Rules:
- 1st theoretical test: 3.0 marks (data: 16 de março de 2017, Segunda-feira; hora: 14:00).
- 2nd theoretical test: 3.0 marks (data: 20 de abril de 2017, Segunda-feira; hora: 14:00).
- 3rd theoretical test: 3.0 marks (data: 18 de maio de 2017, Segunda-feira; hora: 14:00).
- 6 lab tests: 0.5 marks each.
- 1st project: Ray tracer on OpenGL raster with simple scenes: 4.0 valores (data de entrega: 9 de abril de 2017, quinta-feira; hora: 9:00).
- 2nd project: Ray tracer via shader programming with complex scenes: 4.0 valores (data de entrega: 28 de maio de 2017, quinta-feira; hora: 9:00).
Office Hours
- Prof. Doutor Abel Gomes (agomes@di.ubi.pt, IT Lab, DI, Building 6, 3º Floor)
- Monday: 16:00-19:00 (with previous appointment).
Grading
- Student Ranking (Examinations)
- Registo de notas de frequência e testes
Last Update September 23, 2017