CG2 2014/en: Rozdiel medzi revíziami
| Riadok 136: | Riadok 136: | ||
** Create a camera which will rotate around defined point P (target) along a sphere with r = 1. You can use ideas from the Blender camera system and / or two-angle camera in openGL. Camera should use some sort of interactivity (2 angles) and targeted point P should be movable. Bonus camera can be created in a separated solution or you can change the structure in the template to implement two different cameras.  | ** Create a camera which will rotate around defined point P (target) along a sphere with r = 1. You can use ideas from the Blender camera system and / or two-angle camera in openGL. Camera should use some sort of interactivity (2 angles) and targeted point P should be movable. Bonus camera can be created in a separated solution or you can change the structure in the template to implement two different cameras.  | ||
* [http://www.sccg.sk/~hudak/CG2/Ex01.Sample.zip Sample] | [http://www.sccg.sk/~hudak/CG2/Ex01.Template.zip Template]  | * [http://www.sccg.sk/~hudak/CG2/Ex01.Sample.zip Sample] | [http://www.sccg.sk/~hudak/CG2/Ex01.Template.zip Template]  | ||
| − | * '''Deadline:   | + | * '''Deadline: 4. 3. - 16:30'''  | 
<!--  | <!--  | ||
Verzia zo dňa a času 14:09, 25. február 2015
Computer Graphics 2
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, 10+50 points).
 - Solve all homework problems (mandatory each one >=30%, 10 points)
 - Pass final term (mandatory, 20 points) You will need to solve several problems discussed during lessons.
 - Pass oral/written exam: (mandatory, +20 points)
 -  Summary
- Attendance = 0 or -100 (Fx)
 - Exercise = +50..0
 - Bonus = +10..0 (optional)
 - Homework = +10..4 or +4..0 (Fx)
 - Final term = +20..0
 - Oral/written exam = +20..0
 
 
-  Grades
- A = 92-100
 - B = 84-91
 - C = 76-83
 - D = 68-75
 - E = 60-67
 - Fx = 0-59
 
 
- VIEW RESULTS
 - Final Term by Modddle Ecetronic test (18.5.2015 8:10 in B)
 
-  Schedule
- Mon (8:10) - Room A (lecture)
 - Wed (16:30) - Room I-H3 (seminar)
 
 
Materials to read
- http://www.cs.princeton.edu/courses/archive/fall00/cs426/
 - http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/pipeline33/
 - http://www.amazon.com/Mathematics-Computer-Graphics-Undergraduate-Science/dp/1849960224
 - http://www.martinus.sk/?uItem=19688 - Moderni Pocitacova Grafika
 
Lecture01 "Introduction to Computer Graphics"
Lecture02 "Ray Tracing 1."
- TayTracong Pipeline
 - Lecture notes: lesson01.pdf
 
Lecture03 "Ray Tracing 2."
- Ray Intersections
 - Lecture notes: lesson01.pdf
 
Lecture04 "Ray Tracing 3."
- Ray Tracing Acceleration
 - Data structure: grids, BVH, Kd-tree, Directional Partitioning
 - Dynamic Scenes
 - Beam and Cone Tracing
 - Packet Tracing
 - Lecture notes: lesson02.pdf
 - Poznámky v Slovenčine k téme Dátové Štruktúry a Kd-tree.
 - Štátnicová téma: Kanál metódy sledovania lúča. (definícia lúča, popis metódy sledovania lúča, generovanie lúča, pochod po lúči (ray traversal), prienik lúča s trojuholníkom, stromová štruktúra lúčov (ray tree) a jej použitie na výpočet lokálnej farby, problém presnosti priesečníkov)
 
Seminars on Computer Graphics 2
Rules / Info
- On every seminar we will implement selected problems/algorithms related to lessons. We will usually - not necessary start with a prearranged template downloadable from this site.
 - As a programming language we will use C#. We will use Visual C# 2010 as development environment. Alternatively you can use MonoDevelop (Linux / Mac OSX) on your own machine.
 - Attendance at seminars is optional but recommended.
 -  Seminars are conducted by
- Michal Piovarči (cg2.2015.hw@gmail.com)
 
 -  Schedule of seminars is
- Wed (16:30) - Room I-H3
 
 
Homeworks
- You can get max 100% per homework. Submission after deadline is for 0%.
 - There is a min 60% of your final evaluation required for admission to final term.
 - Additional activity can be awarder by max 10% of your final evaluation.
 - Don't cheat - create instead. Any kind of cheating is punished by withholding 30% of your final evaluation for all involved students.
 - As a homework, you will program what we could not finish during the exercise. Assignment and template will be downloadable from this site. See exercises.
 - Homework must be submitted by email to cg2.2015.hw@gmail.com every week until the next Wednesday 16:30.
 - Your submission email must have title in form 'ExNN' where NN is the number of exercise, eg. Ex05.
 - It is required to submit zipped source code of your homework (preferably the whole solution). Do not send executable files. Homework without the source code is for 0%.
 - Your code should be well formatted and commented. Titles of functions, classes, variables should be representative for their purpose. Homework without appropriate comments is for 0%.
 - There are ~12 homeworks during the semester. This number can change due to holidays, tech. problems etc.
 
Exercises
Exercise00 [19.02.2014] "Introduction"
- Motivation?
 -  Theory / Reading?
- Scratchapixel Lessons - intersections, polygones, phong lighting
 - Ingo Wald's Thesis - PhD. thesis about rendering, acceleration and global illumination.
 - Physically Based Rendering
 
 - Practice?
 -  Intro to c#?
- Visual c# 2010, c# 4.0 in a Nutshell
 - Visual Shortcuts, SharpDevelop Short cuts
 - Exercise "Vectors and Matrices" - CG1
 
 - Seminar slides
 
Exercise01 [26.02.2014] "Ray Casting"
- Seminar slides
 -  Implement a camera class suitable for the ray casting method. As usual you should use a similar functionality as in the sample application. Application should specifically be able to:
- Render the scene (objects are movable).
 - Move the camera in a 3D space.
 - Change the camera's field of view (larger angle = more space to render), see Blender camera.
 
 - Try to change the color of the intersected object due to distance from the camera
 -  '[2 bonus %]: 
- Create a camera which will rotate around defined point P (target) along a sphere with r = 1. You can use ideas from the Blender camera system and / or two-angle camera in openGL. Camera should use some sort of interactivity (2 angles) and targeted point P should be movable. Bonus camera can be created in a separated solution or you can change the structure in the template to implement two different cameras.
 
 - Sample | Template
 - Deadline: 4. 3. - 16:30
 


