Hardware for computer graphics - current information (2016/2017)

Lecture: every THURSDAY AT 9:00 in S4 room (Malá Strana)

Labs: every other THURSDAY AT 10:40 (starting on 2. 3. 2017) in the SW1 lab (Rotunda). Two alternating groups.

Lecture plan

Lecture #1 (23. 2. 2017)

Introduction, literature, GPU history & architecture

Course content, additional sources, brief overview of GPU history

Lecture #2 (2. 3. 2017)

GPU architecture

GPU architecture overview (OpenGL style, FFP & programmable pipeline), 3D data, graphic primitives, .. GPU programming basics, shader types.

Lab #1 (2.-9. 3. 2017)

Credit system, tasks, programming environment (C++/C# environments, SVN repositories, MS Visual Studio).
C# examples: 038trackball [086shader, 087fireworks].
C++ examples: sample01.
Libraries: OpenTK 2.0, SDL 2.0.

Lecture #3 (9. 3. 2017)

Basic GPU techniques

Buffers, double- and triple- buffering, semi-transparency, anti-aliasing, stencil buffer, GPU FFP lighting.

Lecture #4 (16. 3. 2017)

Textures, GPU shaders

Texture basics, multi-texturing, environment maps, bump mapping, filtering, MIP-maps, texture compression, more advanced texture techniques..
Shader concepts (RenderMan), history, vertex processor, fragment processor, interoperation data, vertex shaders, fragment shaders, shading language basics.

Lab #2 (16. - 23. 3. 2017)

Modes of data transfer CPU->GPU: immediate mode, client-side buffers, index buffers, glVertexPointer(), .., server-side buffers (VBO), GL extensions (glew.h, glew.c).
C# examples: 038trackball [086shader, 087fireworks]
C++ examples: template01.

Task gpu004: Trackball (C++)

Lecture #5 (23. 3. 2017)

Shaders II, GLSL, math for realtime graphics

Shaders: GLSL [& Cg] languages. Uniform / varying quantities. GLSL shaders, programs, linking. Some detail on GLSL.
Coordinate systems, homogenous coordinates, projections, OpenGL coordinate systems, Euler angles, quaternions and its interpolation.

Lecture #6 (30. 3. 2017)

Quaternions, interpolation, splines

Quaternions revisited, perspective-correct interpolation. Interpolation and approximation (Hermite curves, Bezier, natural spline, B-spline), quaternion spline interpolation, skinning, ..

Lecture #7 (6. 4. 2017)

Data & LoD I

Data for real-time graphics: B-rep, scene hierarchies, triangle meshes, relation to OpenGL (buffers). Survey of LoD approaches, discrete LoD techniques.

Lecture #8 (13. 4. 2017)

LoD II

Dynamic LoD techniques, sustained frame rate LoD for terrain data, point sprites, billboards, imposters.


Copyright (C) 2005-2017 J.Pelikán, last change: 2017-03-16 01:35:54 +0100 (Thu, 16 Mar 2017)