m (→Exercises) |
m (→Exercise02 "Primitives") |
||
Line 229: | Line 229: | ||
'''Asignment:''' | '''Asignment:''' | ||
− | Improve your tracer by adding | + | Improve your tracer by adding new primitive object types: box, sphere, and ring. |
* [[media:CG2.Ex02.Sample.zip | Sample]] | [[media:CG2.Ex02.Template.zip | Template]] | * [[media:CG2.Ex02.Sample.zip | Sample]] | [[media:CG2.Ex02.Template.zip | Template]] | ||
Revision as of 20:07, 9 March 2021
Contents
- 1 Advanced Computer Graphics
- 1.1 What you Need to Pass
- 1.1.1 Materials to read
- 1.1.2 Lecture00 "Introduction to Computer Graphics"
- 1.1.3 Lecture01 "Graphics Pipeline"
- 1.1.4 Lecture02 "Ray Tracing 1."
- 1.1.5 Lecture03 "Ray Tracing 2."
- 1.1.6 Lecture04 "Ray Tracing 3."
- 1.1.7 Lecture05 "Shading."
- 1.1.8 Lecture06 "Light Trasport."
- 1.1.9 Lecture07 "Radiosity."
- 1.1.10 Lecture08 "BRDF."
- 1.1.11 Lecture09, Lecture10 "Shadows."
- 1.1.12 Lecture11, Lecture12 "Texturing 1, 2."
- 1.1.13 Lecture13 "Image Based Rendering 1."
- 1.1.14 Lecture14 "Image Based Rendering 2."
- 1.1.15 Lecture15 "Ask me anything."
- 1.1 What you Need to Pass
- 2 Seminars on Advanced Computer Graphics
Advanced Computer Graphics
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 Moodle Electronic test 10.5 12:20 )
- Before the test exam you can try to solve many tests from the graphics page, is you can pass the example test then you have big chance to pass the test exam.
- Schedule
- Mon (12:20) - Online MS Teams (lecture)
- Str (9:50) - (excercises)
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
Lecture00 "Introduction to Computer Graphics"
- Computer Graphics Applications
Lecture01 "Graphics Pipeline"
- What is The Graphics Pipeline
- Vertex Shader
- Primitive Assembly
- Tessellation Shaders
- Geometry Shader
- Geometry Postprocessing and Rasterization
- Fragment Shader
- Frame Buffer Operations
- http://www.lighthouse3d.com/tutorials/glsl-core-tutorial/pipeline33/
- Lecture notes: lesson00.pdf [1]
- Štátnicová téma: Zobrazovací kanál. Grafická pipeline moderného hardvéru, framebuffer, buffer objekty, používané súradnicové priestory, druhy shader programov, druhy optimalizačných techník (view frustum, occlusion, backface culling), príklad shader programov.
Lecture02 "Ray Tracing 1."
- RayTracing 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 a porovnanie s Radiosity metódou. (definícia lúča, definícia tieňového 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). Metóda sledovania lúča na GPU, urýchľovacie techniky.
Lecture05 "Shading."
- OPENGL Light sources
- Shading Phong model
- First time meeting with Rendering Equation
- Book chapter Shading: shading.pdf
Lecture06 "Light Trasport."
- Physics behind ray tracing
- Physical light quantities
- Visual perception of light
- Light sources
- Light transport simulation: Rendering Equation
- Lecture notes: lesson05.pdf
- Štátnicová téma: Fyzikálny osvetlovací model a výpočet farieb renderovacou rovnicou. (definícia radiancie, definícia BRDF a jej vlastnosti, fyzikálne BRDF Cook-Tarrance, definícia priestorového uhlu, napíšte renderovaciu rovnicu a vysvetlite jej členy).
Lecture07 "Radiosity."
- Diffuse reflectance function
- Radiative equilibrium between emission and absorption, escape
- System of linear equations
- Iterative solution Neuman series
- Lecture notes: lesson05.pdf
- Book chapter Shading: shading.pdf
Lecture08 "BRDF."
- Bidirectional Reflectance Distribution Function (BRDF)
- Reflection models
- Projection onto spherical basis functions
- Shading Phong model, Blin-Phong model
- Lecture notes: lesson07.pdf
- Homework:
- Physical BRDF
- Ward Reflection Model
- Cook-Torrance model
- Lecture notes: lesson07Phys.pdf
Lecture09, Lecture10 "Shadows."
- Lecture notes: lesson08.pdf
- Štátnicová téma: Tiene, typy tieňov (mäkké, tvrdé, statické, dynamické), typy a popis algoritmov (projekčné, tieňové objemy, tieňové mapy (shadow mapping)), spôsoby implementácie jednotlivých algoritmov, artefakty a ich odstraňovanie, príklad shader programov pre tieňové mapy. Artefakty spôsobené diskretizáciou. Tiene vo Phongovom modeli.
Lecture11, Lecture12 "Texturing 1, 2."
- Texture parameterization
- Procedural methods
- Procedural textures
- Fractal landscapes
- Lecture notes: lesson09.pdf
- Book chapter (Surface reality techniques): lessonBoook09.pdf
- Štátnicová téma: Lokálne osvetľovacie modely. (tieňovanie, Phongov a Blinn-Phongov osvetlovací model, zložky (ambientna, difúzna, zrkadlová), textúrovanie a druhy textúr, mapovanie a filtrácia textúr, popísať princípy environment, bump, normal mapovania, textúrovací a tangenciálny priestor, príklad shader programov na GPU.
Lecture13 "Image Based Rendering 1."
- Plenopticfunction
- Panoramas
- Concentric Mosaics
- Light Field Rendering
- The Lumigraph
- Lecture notes: lesson10.pdf
- Homework: Blinn-Phong enumeration.
Lecture14 "Image Based Rendering 2."
- Layered Depth Images
- View-dependent Texture Mapping
- Surface Light Fields
- View Morphing
- Lecture notes: lesson10.pdf
Lecture15 "Ask me anything."
- Test problem introduction
Seminars on Advanced Computer Graphics
On wednesdays at 9:50 On Teams
Guide: Adam Riečický
Contact: adam.riecicky@fmph.uniba.sk
Info
Each week a short guided presentation will be given.
An assignment for every week will be finishing a template C# project. The deadline for every project is right before the next successive seminar - Wednesday at 9:50. The extended deadline is a week after with 0.5x penalization. Solutions to bonus assignment can be submitted anytime during the 2 weeks without the penalization.
Grading
- Total points from exercises make half of your final grade!
- Minimum of 50% from exercises required to finish the class successfully
- Late submission is for 0, no discussion
Project Criteria
- 10 pt => Correct submission, everything works as is supposed.
- 6 pt => Partially correct submission, most of the things work supposed.
- 3 pt => Partially correct submission, at least one core functionality correct.
- 0 pt => Incorrect submission or unsubmitted.
- Penalization 0.5x when submitting in extended deadline (not for bonus).
Project Submittion
- Your code should be well formatted and commented. Titles of functions, classes, variables should be representative of their purpose.
- Submission email must have the subject in the form of 'ACG ExNN' where NN is the exercise id, eg. ACG Ex05.
- Solution source codes have to be archived and named properly 'ExNN_YourName'
- Do not archive send executable files.
- Send by email to adam.riecicky@fmph.uniba.sk.
Exercises
Exercise00 "Vectors and Matrices"
Deadline (no extended deadline): 3.3.2021 at 23:59
Asignment: Create a simple application for vector(4x1) and matrix operations(4x4). Use struct properties, functions and/or operators. Create a calculator, check your equations and results. Add implementation to theese files in folder ./Mathematics/ : Vector4.cs, MathEx.cs, and "Matrix44.cs
You can ignore vector operations "/" (vector projection) and "^" (modulation product).
For a help, see this reminder on linear algebra
Exercise01 "Ray Casting"
Deadline (no extended deadline): 10.3.2021 at 23:59
Asignment: Implement basic ray casting and the intersection of ray and plane. Define the camera class and implement a simple ray-tracing procedure.
Bonus [2 bonus %]: Create a camera that will rotate around defined point P (target) among a sphere with r = 1. You can use ideas from the Blender camera system and/or two-angle camera in OpenGL. The camera should use some sort of interactivity (2 angles) and targeted point P should be movable. Bonus camera can be created in a separate solution or you can change the structure in the template to implement two different cameras.
Exercise02 "Primitives"
Deadline: 10.3.2021 at 9:50 Extended deadline: 17.3.2021 at 9:50
Asignment: Improve your tracer by adding new primitive object types: box, sphere, and ring.
Resources: Planes, triangles, and distances, Intersection algorithms
Bonus [3 bonus % (1 for each)]: Create also a triangle, cylinder, and cone primitives and add them to the tracer. Also, create a new scene where you present the primitive(s).