CG1 2013/en: Rozdiel medzi revíziami
Riadok 152: | Riadok 152: | ||
=== Assignments === | === Assignments === | ||
− | * Assignment must be submitted by email to [mailto:cg1.2013.hw@gmail.com cg1.2013.hw@gmail.com] | + | * Assignment must be submitted until '''next deadline 24:00''' |
+ | * '''Tuesday seminar''' attendees should submit their assignments during the seminar or by the email to [mailto:cg1.2013.hw@gmail.com cg1.2013.hw@gmail.com]. | ||
* '''Monday seminars submission''' email is [mailto:cg1.2014.hw@gmail.com cg1.2014.hw@gmail.com] | * '''Monday seminars submission''' email is [mailto:cg1.2014.hw@gmail.com cg1.2014.hw@gmail.com] | ||
* Your submission email '''must''' have title in form 'ExNN' where NN is the number of exercise, eg. Ex05. | * Your submission email '''must''' have title in form 'ExNN' where NN is the number of exercise, eg. Ex05. |
Verzia zo dňa a času 17:21, 29. september 2014
Obsah
- 1 Computer Graphics 1
- 1.1 What you Need to Pass
- 1.1.1 Materials to read
- 1.1.2 Lesson01 "Introduction to Computer Graphics"
- 1.1.3 Lesson02 "Scene Representations"
- 1.1.4 Lesson03 "Transformations and Projections"
- 1.1.5 Lesson04 "The Graphics Pipeline"
- 1.1.6 Lesson05 [TODO] "Line Clipping"
- 1.1.7 Lesson06 [29.10] "Intersections and Clipping"
- 1.1.8 Lesson08 [26.11] "Rasterization"
- 1.1.9 Lesson07 [19.11] "Visible Surface Determination and Antialiasing"
- 1.1.10 Lesson09 [03.12] "Visibility Culling and Graphical Pipeline Revisited"
- 1.1.11 Lesson10 [10.12] "Representation and Blending of Images"
- 1.2 Seminars
- 1.3 Project
- 1.1 What you Need to Pass
Computer Graphics 1
What you Need to Pass
- Attend lessons. One missed +0 points. 2 missed 0 points, 3 missed 0 points, 4 and more is Fx.
- Project and exercise (mandatory, 70 points).
- Solve all homework problems (mandatory each one >=30%, 10 points)
- Mid term (mandatory, 20 points)
- Pass final term (mandatory, 15 points) You will need to solve several problems discussed during lessons.
- Pass oral/written exam: (mandatory, +15 points)
- Summary
- Attendance = 0 or -100 (Fx)
- Exercise = +50..0
- Activity = +10..0 (optional)
- Project = +20..0 (optional)
- Homework = +10..3 or +3..0 (Fx)
- Mid term = +20..0
- Final term = +15..0
- Oral/written exam = +15..0
- Grades
- A = 92-100
- B = 84-91
- C = 76-83
- D = 68-75
- E = 60-67
- Fx = 0-59
- Schedule
- Mon (18:10) - Room A (lecture)
- Mon (10:40) - Room H3 (seminar)
- Tue (09:50) - Room H6 (seminar)
Materials to read
- http://www.cs.princeton.edu/courses/archive/fall00/cs426/
- http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/pipeline33/
- Texty v Slovenčine
- http://www.amazon.com/Mathematics-Computer-Graphics-Undergraduate-Science/dp/1849960224
- http://www.martinus.sk/?uItem=19688 - Moderni Pocitacova Grafika
Lesson01 "Introduction to Computer Graphics"
- Computer Graphics Applications
- Graphics Pipeline
- Lecture notes: lesson01.pdf
Lesson02 "Scene Representations"
- Representation of Curves
- Representation of Volumes
- Representation of Surfaces
- Lecture notes: lesson02.pdf
- Štátnicová téma: Reprezentácie objektov v počítačovej grafike. (Mnohouholníkové siete, splajny, CSG, volumetrické reprezentácie (BSP, octree), implicitné reprezentácie. Výhody a nevýhody jednotlivých reprezentácií, vzájomné konverzie.)
- Homework 1: HomeworkSet01.pdf
Lesson03 "Transformations and Projections"
- Linear Transformations
- Affine Transformations
- Perspective Projections
- Parallel Projections
- Lecture notes: lesson03.pdf
- Poznámky d Slovenčine k téme Transformacie a Súradnice kamery
- Štátnicová téma: Zobrazovací kanál. (Modelovanie 3D scény, snímanie, premietanie - rovnobeľné, stredové a ich vzájomný súvis. Súradnicové sústavy v zobrazovacom kanáli. Zaradenie algoritmov počítačovej grafiky (riešenie viditeľnosti, orezávanie...) do zobrazovacieho kanála. Zobrazovací kanál dvojrozmernej scény.)
Lesson04 "The Graphics Pipeline"
- What is The Graphics Pipeline
- Vertex Shader
- Primitive Assembly
- Tessellation Shaders
- Geometry Shader
- Geometry Postprocessing and Rasterization
- Fragment Shader
- Frame Buffer Operations
- Lecture notes: lesson04.pdf
Lesson05 [TODO] "Line Clipping"
- Line clipping algorithms in the CG Pipeline
- Cohen-Sutherland
- Cyrus-Beck
- Nicholl-Lee-Nicholl
- Lecture notes: lesson05.pdf
- Štátnicová téma: Hľadanie prienikov a orezávanie. (Prieniky v rovine: prienik úsečiek, polpriamok, prienik s mnohouholníkom, prienik s konvexným mnohouholníkom, metódy hľadania prieniku úsečky a krivky. Prieniky v priestore: prienik úsečky a roviny, prienik úsečky a mnohouholníka. Algoritmy Cohen-Sutherland, Cyrus-Beck, Liang-Barsky a Nichol-Lee-Nichol pre orezávanie úsečky do okna. Orezávanie mnohouholníka do okna.)
Lesson06 [29.10] "Intersections and Clipping"
- Computing basic intersections
- Polygon clipping algorithms
- Orientation
- Sutherland-Hodgeman
- Weiler-Atherton
- Greiner-Hormann
- Curve and text clipping
- Lecture notes: lesson06.pdf
Lesson08 [26.11] "Rasterization"
- Line rasterization: DDA, Bresenham, Midpoint
- Curve rasterization: Midpoint, Bresenham
- Polygon rasterization
- Filling algorithms: flood fill, boarder fill
- Lecture notes: lesson08.pdf
- Štátnicová téma: Rasterizácia a antialiasing. (Algoritmy rasterizácie úsečky. Rasterizácia kvadratickej krivky, rasterizácia mnohouholníka pomocou skenovacej priamky. Prístupy k vypĺňaniu oblastí. Alias a metódy antialiasingu.)
Lesson07 [19.11] "Visible Surface Determination and Antialiasing"
- Alias, Nyquist frequency - Aliasing Aditional Material
- Antialiasing: Postfiltering, Prefiltering, MSAA, CSAA - Antialiasing
- Visibility Surface Determination: Object Space, Image Space, Priority List
- Painter's Algorithm, Newel-Newel-Sancha
- Schumacker, BSP-tree
- Warnock's Algorithm
- Z-buffer
- Octree
- Lecture notes: lesson07.pdf
- Štátnicová téma: Algoritmy pre určovanie viditeľného povrchu. (Algoritmy v priestore objektov: využitie normálových vektorov, maliarove algoritmy, využitie volumetrických reprezentácií. Algoritmy v priestore obrazu: z-buffer, delenie okna. špeciálne algoritmy: zobrazovanie drôteného modelu, zobrazovanie grafu funkcie.)
Lesson09 [03.12] "Visibility Culling and Graphical Pipeline Revisited"
- Wireframe Models
- Visibility Culling: Backface, View Frustum, Detail, Occlusion
- Graphical Pipeline: Transformation and Coordinates
- Lecture notes: lesson09.pdf
Lesson10 [10.12] "Representation and Blending of Images"
- Color Models
- Image Blending Modes
- Lecture notes: lesson10.pdf
Seminars
- On every seminar we will implement selected problems/algorithms from lessons. We will usually start with a prearranged template downloadable from this site.
- As a programming language we will use C#. We will use Visual C# 2010 Express / Sharp Develop as a development environment. Alternatively you can use MonoDevelop (Linux / Mac OSX) on your own machine.
- Don't cheat - create instead. Any kind of cheating is punished by withholding 15 points of your final evaluation for all involved students. Situation where only part of code is shared is also considered cheating!
- Attendance at seminars is optional, but recommended.
- Additional activity can be awarded by max 10 points of your final evaluation.
Assignments
- Assignment must be submitted until next deadline 24:00
- Tuesday seminar attendees should submit their assignments during the seminar or by the email to cg1.2013.hw@gmail.com.
- Monday seminars submission email is cg1.2014.hw@gmail.com
- Your submission email must have title in form 'ExNN' where NN is the number of exercise, eg. Ex05.
- You can get max 100% per assignment. Late submission is for 0%.
- It is required to submit zipped source code of your homework. Do not send only executable files. Homework without source code is for 0%.
- Your code should be well formatted and commented. Titles of functions, classes, variables should be representative for their purpose.
Project
- Project is your opportunity to gain additional 20 points of your final evaluation (during the semester) and it is optional. It must be submitted by email to cg1.2013.hw@gmail.com including your solution and source files.
- Comment your code and add help!
- Submission until - 6 days before you final term
- Project assignments - Choose among these themes or create your own. You should notify cg1.2013.hw@gmail.com with your idea about the chosen project (idea, language, implementation, application). More info in person on M113.
- Ideas:
- Voxel Data Structure - 3D should be used, generate voxelization of objects
- Advanced Mesh Transformations - Take blender mesh function and implement it
- Gimp Layer functions - Darken, Soft light, ...
- Displacement Modeling - a.k.a Z-brush
- Other - Specify in the email
Exercise00 [23/24.09] "Introduction"
- Introduction
- There is no assignment for this seminar
Exercise01 [30.09/01.10] "Vectors and Matrices"
- Create a simple application for vectors(4x1) and matrices(4x4)
- Info | Sample | Template
- Inverse Matrix | Adjoint Matrix | Adjoint Matrix Wiki
- Deadline: 5.10 24:00
- Bonus implement unit tests:
- Add drop-down option called Unit Test
- Create 2 tests for each arithmetic operation in the drop-down menu
- Compare the result calculated by your implementation with a precalculated result
- Count successful tests and output final score to console