# PA010: Intermediate Computer Graphics - Autumn 2018

This site is safe for children! Well, okay, there is the potential for distress if your child has a severe phobia of mathematics...

### Jiří Sochor

Lectures cover classical fields of interest in computer graphics. These are compared with current research results. Students should gain the purview of the key issues and research trends in computer graphics field. The knowledge of basic algebra and geometry, as well as the knowledge of computer graphics fundamentals, is required. An experience with programming helps to understand algorithmic concepts and pseudocodes of methods.

### Lectures and Study Materials

```Preliminary Schedule

1.	Short recap on modelling and rendering, 3D models and data structures, meshes
2.	Sampling and reconstruction
3.	Rendering equation and its solution
4.	Subdivision surfaces
5.	Textures I: mapping, filtering
6.	3D modelling techniques: global and local deformations, implicit modelling
7.	Surface reconstruction, simplification
8.	Direct rendering of volume data
9.	Space subdivision and searching methods: scene-based approaches, space-based approaches
10.	Real-time rendering techniques: culling, PVS approaches
12.	Warping and morphing in 2D, 3D
13.	(Textures II: synthesis)
```
We explain all these subjects with both mathematical descriptions as well as its algorithmic counterpart. Students will learn theoretical basis of the above-described concepts, algorithms, and representations. Slides are available in IS as Study materials FI:PA010. The lectures will not be recorded.

### HW Assignment 1: Ray Tracing, Nov 26 2018, 16:00

Implementation options: Processing (Stable Releases 3.4, 26 July 2018), Java 8 (NetBeans preferred), C++ (MS VS prefered), C# (MSVS)

Scene with spheres, triangles, various ray sampling schemes, apply texture
```Minimum (10 pts.)
Scene: 2 spheres, checkerboard floor, 1 light,
Method: deterministic sampling,1ray/pixel, constant camera (3 predefined views)

objects defined by triangles (3 pts.)
multisampling, stochastic sampling  (3 pts.)
approximated area light (3 pts.)
view selection/seting camera   (4 pts.)
reflection mapping (3 pts.)
...
```
Hints:
See Study materials FI:PA010

### HW Assignment 2A: Subdivision Surfaces, Jan 7 2019, 16:00

Implementation options: Processing (Stable Releases 3.4, 26 July 2018), Java 8 (NetBeans preferred), C++ (MS VS prefered), C# (MSVS)

Subdivision surfaces (closed, open), various schemes
```Minimum((10 pts.)
Closed triangulated surface, e.g. tetrahedron or box, Loop subdivision
controlled camera (keyboard), wireframe, visualize 2 consequent subdivision steps

CC scheme/general meshes (5 pts.)
mesh input/output (5 pts.)
open meshes (5 pts.)
```
Hints:
CMU 15-462/662 Assignment 2: A Mini Mesh editor
Loop Subdivision
Mini-project 2: Basic mesh processing

### HW Assignment 2B: Perlin noise synthesis and application, , Jan 7 2019, 16:00

Implementation options: Processing (Stable Releases 3.4, 26 July 2018), Java 8 (NetBeans preferred), C++ (MS VS prefered), C# (MSVS)

Create set of textured solids or subspaces with various textures and mappings
```Minimum (10 pts.)
1D, 2D, 3D Perlin noise with controlled parameters, 2 examples for each at least (wrinkled lines, 2D images, 3D - sphere a/o cylinder marble, wood material)
synthesis of various textures, see examples in lecture Textures I

RT of 3D objects with Perlin n. (up to 10 pts)
controlled camera and light (keyboard, up to 4 pts. if not assesed in HWA 1.)
a simple GUI for P.n. parameters in composed noise-based textures (keyboard, up to 10 pts.)

```
Hints:
See Study materials FI:PA010

### Final Exam

Written exam, 5 questions/12 pts., 90 mins.
```Evaluation:
HW/Project 1: 20 pts., minimum 10 pts.
HW/Project 2: 20 pts., minimum 10 pts.
Final Exam:   60 pts., minimum 24 pts.
Total:       100 pts.

A 90-100 pts.
Outstanding achievement above that of expected course outcomes
B 80 - 89 pts.
Praiseworthy performance above that of expected course outcomes
C 70 - 79 pts.
Average performance of expected course outcomes
D 60 - 69 pts.
Acceptable performance of expected course outcomes
E 50 - 59 pts.
Low limit acceptable performance and knowledge
F  0 - 49 pts.
Failed course due to poor performance
```

### Resources

```MUKUNDAN, R. Advanced methods in computer graphics : with examples in OpenGL. New York: Springer, 2012. xiii, 312. ISBN 9781447123392.

DUTRÉ, Philip, Kavita BALA a Philippe BEKAERT. Advanced global illumination. 2nd ed. Wellesley: A K Peters, 2006. xvi, 366. ISBN 1568813074.

ERICSON, Christer. Real-time collision detection. Amsterdam: Elsevier, 2005. xxxviii, 5. ISBN 1558607323.

WATT, Alan H. 3D Computer Graphics. 2nd ed. Wokingham: Addison-Wesley Publishing Company, 1993. 500 s., ob. ISBN 0-201-63186-5.

ACM Digital Library: www.acm.org/dl

```