d (→Slides) |
|||
(88 intermediate revisions by 4 users not shown) | |||
Riadok 9: | Riadok 9: | ||
__TOC__ | __TOC__ | ||
− | ; | + | ; Lectures |
− | : | + | :[[Martin Madaras|Martin Madaras]] |
+ | :[[Zuzana Berger Haladova|Zuzana Berger Haladová]] | ||
+ | |||
; Excercises | ; Excercises | ||
− | : | + | : [[Zuzana Berger Haladova|Zuzana Berger Haladová]] |
=== Grading === | === Grading === | ||
Riadok 18: | Riadok 20: | ||
* Final writen exam: 50p | * Final writen exam: 50p | ||
* Excercises: 50p ''(with minimum of 30p)'' | * Excercises: 50p ''(with minimum of 30p)'' | ||
− | ** | + | ** 2 home assignments (projects): 2x20p (1 from CG part and 1 from IP part) |
** Attendance: 10x1p | ** Attendance: 10x1p | ||
+ | **[https://docs.google.com/spreadsheets/d/1d5bRW5LX5im5TEP54_gZSYwMkWuYYkhXcv5rtI03KHA/edit Body] | ||
=== Materials === | === Materials === | ||
Riadok 26: | Riadok 29: | ||
* [http://www.sccg.sk/~sikudova/strukturovana_kniha_CD.pdf Šikudová a kol. Počítačové videnie: Detekcia a rozpoznávanie objektov] | * [http://www.sccg.sk/~sikudova/strukturovana_kniha_CD.pdf Šikudová a kol. Počítačové videnie: Detekcia a rozpoznávanie objektov] | ||
+ | == Lectures == | ||
+ | |||
+ | *24.9. Introduction (MM+ZBH) [https://skeletex.xyz/content/Fundamentals_CG&IP_00_Introduction.pdf CG_00_Introduction_slides] | ||
+ | |||
+ | <!--- | ||
+ | *26.9. Modeling, Transformations (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_01_Modeling.pdf CG_01_Modeling_slides] | ||
+ | |||
+ | *26.9. Transformations (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_02_Transformations.pdf CG_02_Transformations_slides] | ||
+ | |||
+ | *3.10. Rasterization (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_03_Rasterization.pdf CG_03_Rasterization_slides] | ||
+ | |||
+ | *3.10. Shading (MM) [[https://skeletex.xyz/content/Fundamentals_CG&IP_04_Shading.pdf CG_04_Shading_slides] | ||
+ | |||
+ | *10.10. Visibility (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_05_Visibility.pdf CG_05_Visibility_slides] | ||
+ | |||
+ | *10.10. Textures (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_06_Textures.pdf CG_06_Textures_slides] | ||
+ | |||
+ | *17.10. Shadows (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_07_Shadows.pdf CG_07_Shadows_slides] | ||
+ | |||
+ | *17.10. Animations (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_08_Animations.pdf CG_08_Animations_slides] | ||
+ | |||
+ | *24.10. Raycasting, Global Illumination (MM) [https://skeletex.xyz/content/Fundamentals_CG&IP_09_Raycasting.pdf CG_09_Raycasting_slides] | ||
+ | |||
+ | *7.11. Snimanie [https://docs.google.com/presentation/d/1mxQZt2V2fwaNZlZ2c4QVOXlJunyBBbGRfIv68yjBZXQ/edit?usp=sharing slides] | ||
+ | *14.11. Predspracovanie [https://docs.google.com/presentation/d/1JHeZS8IlN41tR_7KbLc_6KDX_qKnLIBN_I6mb82mlyw/edit?usp=sharing slides] | ||
+ | *21.11. Segmentacia [https://docs.google.com/presentation/d/1Rgos4gePcXCjhmhwu-DUto18yKvQrUifJZnnr8k2-ms/edit?usp=sharing slides] | ||
+ | *28.11. [https://docs.google.com/presentation/d/1uXw1ATBRvj6P2426PE0Mejpb2TksVrsu-xOiJkWTIL0/edit?usp=sharing slides] | ||
+ | *5.12. [https://docs.google.com/presentation/d/1aZ0iLF1DM8TtB_J6rGyWVRGHP7EhJiTeQeWlV3z7pVE/edit?usp=sharing slides] | ||
+ | --> | ||
+ | == Labs == | ||
+ | <!-- | ||
+ | [https://docs.google.com/document/d/1sS7FiLGNx0MYBBUdWof_mh99P6F_X6Qtq4Ck3XTJk34/edit?usp=sharing Project Asignment due to 9.11. 6:00] | ||
+ | --> | ||
+ | *26.9. VR | ||
+ | <!-- | ||
+ | *25.9. Exercise 1 CG [https://docs.google.com/presentation/d/1v7SWRgfa1ihLjcLxeIUGDVAIWeBjlNwjrpkxrvv1q9Q/edit?usp=sharing slides] | ||
+ | *2.10. Exercise 2 CG [https://docs.google.com/presentation/d/1DK8_GjOTbYONvwXiauMT6ABQHNY5o69ZtnxmTRfyCnA/edit?usp=sharing slides] | ||
+ | *9.10. Exercise 3 CG [https://docs.google.com/presentation/d/1BmfyQmPth4GvzD1eiWJUQSnnixTFWO4dph61pYDa-74/edit?usp=sharing slides] [https://docs.google.com/document/d/1ZSI6C04qPN8x4UOT_FjYGv4djwlp46LPBz7-Q4JsG3Q/edit?usp=sharing priklad na DDA] | ||
+ | *16.10. Exercise 4 CG [https://docs.google.com/presentation/d/1mY9Q2QLoMn1Q0nIR6DzQeiyBpnOlFvKKY-kwlpaKjT4/edit?usp=sharing slides] | ||
+ | *23.10. Excercise 5 CG [https://docs.google.com/document/d/1WstlbeQyGf3EhDWCGa6N3DdFIVn9P2QazAmtuUTR18k/edit?usp=sharing skusobny test] | ||
+ | *30.10. Canceled. Prednášky z lineárnej algebry a geometrie pre PGAG dostupne na [https://www.youtube.com/watch?v=xCX9-a4DWYU&list=PLqiGU4u5LkCEkLba67W5DX5WNoZ3McfQZ&index=24 prednasky] Bolo by super ak by ste si to pozreli, ale rozumiem ze je toho vela. Ty co ste nemali ziadnu linearnu algebru pozrite aspon toto [https://youtu.be/p48uw2vFWQs?si=SPZA_DCQAHTC37t7 matice] , [https://youtu.be/kZwSqZuBMGg?si=AH0XLjBKItbcrit3 vektory] | ||
+ | *6.11. Exercise 1 CV [https://docs.google.com/presentation/d/1ycSRkd3tuj-sOjRaanrYTvQHcZkOSs_yCIkNjkwfMpg/edit?usp=sharing slides] [https://drive.google.com/file/d/1uGdO1Q_WsrIU2rjWS9UgO2IbBTqvxEYY/view?usp=sharing data] [https://drive.google.com/file/d/14SPrH_jBEeTN2nMx0NfL8vfmBxsvr6y7/view?usp=sharing bonus] | ||
+ | * 13.11. Exercise 2 CV [https://docs.google.com/presentation/d/1IxgO-uLd8jyOrTP-U0qUJduffgmuMriiJEoaP0iHZb0/edit?usp=sharing slides] [https://liveuniba-my.sharepoint.com/:v:/g/personal/haladova2_uniba_sk/EVhx3n6HMnNHvTdKTJqqSXABRDkIHLgCu1NlVo4EqGKknA?e=zKf4nY video] | ||
+ | *20.11. Exercise 3 CV [https://docs.google.com/presentation/d/1TukhOGCl7tRNWbIWEXiJQiUxk_oye-7sWHju60ihjEM/edit?usp=sharing slides][https://drive.google.com/file/d/1kRJpC3xL1AEVwYM15rIu2ciQldg1Muiu/view?usp=sharing data] | ||
+ | *27.11. Exercise 4 CV [https://docs.google.com/presentation/d/1VkKJjRB_FeBDZ_qaThgnPyMKejxmuGAV4824MXddk_Y/edit?usp=sharing slides] [https://drive.google.com/file/d/1GaLXdzw62I3HRvcZwTyfRk9tEaAHiXpV/view?usp=sharing data] | ||
+ | *4.12. Exercise 5 CV [https://docs.google.com/presentation/d/1MqMF7ocu4A6IaQ29CHzCdJhZstINlf8AGBDINS2Ns9U/edit?usp=sharing slides] | ||
+ | *11.12. Cvicenia sa bohuzial rusia, priklad [https://docs.google.com/document/d/1J1ampjb86GtgkbxQFvxBXLrfe_woxG9z6Ec3q8DbUpM/edit?usp=sharing pisomky z CV] | ||
+ | --> | ||
+ | <!--- | ||
+ | == Lectures == | ||
+ | *19.9. Intro [https://docs.google.com/presentation/d/1zcsOFvFzUtIWBN_OnsM2GDpiO11TeOwg8bhsihzDnPI/edit?usp=sharing slides] | ||
+ | |||
+ | == Labs == | ||
+ | *18.9. Lab excursion | ||
---- | ---- | ||
+ | *28.9. - 26.10. CG [http://www.sccg.sk/~madaras/students.html CG slides ] | ||
+ | *9.11. Snimanie obrazu [https://docs.google.com/presentation/d/1mxQZt2V2fwaNZlZ2c4QVOXlJunyBBbGRfIv68yjBZXQ/edit?usp=sharing slides] | ||
+ | *16.11. Predspracovanie [https://docs.google.com/presentation/d/1JHeZS8IlN41tR_7KbLc_6KDX_qKnLIBN_I6mb82mlyw/edit?usp=sharing slides] | ||
+ | *23.11. Segmentacia [https://docs.google.com/presentation/d/1Rgos4gePcXCjhmhwu-DUto18yKvQrUifJZnnr8k2-ms/edit?usp=sharing slides] | ||
+ | *30.11. Image classification and Pattern recognition [https://docs.google.com/presentation/d/1uXw1ATBRvj6P2426PE0Mejpb2TksVrsu-xOiJkWTIL0/edit?usp=sharing slides] | ||
+ | *7.12. Deep learning for computer vision, [https://docs.google.com/presentation/d/1aZ0iLF1DM8TtB_J6rGyWVRGHP7EhJiTeQeWlV3z7pVE/edit?usp=sharing slides] | ||
+ | *14.12. Exam | ||
+ | <!--- | ||
+ | [http://www.sccg.sk/~madaras/students.html CG slides ] | ||
+ | *3.11. Snimanie [https://docs.google.com/presentation/d/1mxQZt2V2fwaNZlZ2c4QVOXlJunyBBbGRfIv68yjBZXQ/edit?usp=sharing slides] | ||
+ | *10.11. Predspracovanie [https://docs.google.com/presentation/d/1JHeZS8IlN41tR_7KbLc_6KDX_qKnLIBN_I6mb82mlyw/edit?usp=sharing slides] | ||
+ | *24.11. Segmentacia [https://docs.google.com/presentation/d/1Rgos4gePcXCjhmhwu-DUto18yKvQrUifJZnnr8k2-ms/edit?usp=sharing slides] | ||
+ | *1.12. Image classification and Pattern recognition [https://docs.google.com/presentation/d/1uXw1ATBRvj6P2426PE0Mejpb2TksVrsu-xOiJkWTIL0/edit?usp=sharing slides] | ||
+ | *8.12. Deep learning for computer vision, online cez Teams [https://docs.google.com/presentation/d/1aZ0iLF1DM8TtB_J6rGyWVRGHP7EhJiTeQeWlV3z7pVE/edit?usp=sharing slides] | ||
+ | *15.12. Exam, online cez Teams | ||
− | == | + | == Labs == |
+ | Points [https://docs.google.com/spreadsheets/d/12DMrmDswrCqdNMd-02RpbbzofmYk-PGfbWB-kJwHDBA/edit?usp=sharing table] | ||
+ | PV [https://docs.google.com/document/d/1sS7FiLGNx0MYBBUdWof_mh99P6F_X6Qtq4Ck3XTJk34/edit?usp=sharing] Assignment due to... | ||
+ | CV [https://docs.google.com/document/d/1JLmTNcAQLi0XtcyTqTcvGExXptJaMH0rnbhYgAyROcU/edit?usp=sharing] Assignment due to 6.12.2022 6:00 | ||
− | + | *22.9. Lab excursion | |
− | === Slides === | + | *29.9. Exercise 1 CG [https://docs.google.com/presentation/d/1v7SWRgfa1ihLjcLxeIUGDVAIWeBjlNwjrpkxrvv1q9Q/edit?usp=sharing slides] |
+ | *6.10. Exercise 2 CG [https://docs.google.com/presentation/d/1DK8_GjOTbYONvwXiauMT6ABQHNY5o69ZtnxmTRfyCnA/edit?usp=sharing slides] | ||
+ | *13.10. Exercise 3 CG [https://docs.google.com/presentation/d/1BmfyQmPth4GvzD1eiWJUQSnnixTFWO4dph61pYDa-74/edit?usp=sharing slides] [https://docs.google.com/document/d/1ZSI6C04qPN8x4UOT_FjYGv4djwlp46LPBz7-Q4JsG3Q/edit?usp=sharing priklad na DDA] | ||
+ | *20.10. Exercise 4 CG [https://docs.google.com/presentation/d/1mY9Q2QLoMn1Q0nIR6DzQeiyBpnOlFvKKY-kwlpaKjT4/edit?usp=sharing slides] | ||
+ | *27.10. Exercise 5 CG [https://docs.google.com/presentation/d/17MbGgSry_JtmCclZ_Tr-Rin9scmMT9UZVQIjas5O7u0/edit?usp=sharing slides] | ||
+ | *3.11. Consultations online | ||
+ | *10.11. Exercise 1 CV [https://docs.google.com/presentation/d/1ycSRkd3tuj-sOjRaanrYTvQHcZkOSs_yCIkNjkwfMpg/edit?usp=sharing slides] [https://drive.google.com/file/d/1uGdO1Q_WsrIU2rjWS9UgO2IbBTqvxEYY/view?usp=sharing data] [https://drive.google.com/file/d/14SPrH_jBEeTN2nMx0NfL8vfmBxsvr6y7/view?usp=sharing bonus] | ||
+ | *17.11. Holiday Exercise 2 CV (Recorded) [https://docs.google.com/presentation/d/1IxgO-uLd8jyOrTP-U0qUJduffgmuMriiJEoaP0iHZb0/edit?usp=sharing slides] [https://liveuniba-my.sharepoint.com/:v:/g/personal/haladova2_uniba_sk/EVhx3n6HMnNHvTdKTJqqSXABRDkIHLgCu1NlVo4EqGKknA?e=zKf4nY video] | ||
+ | *24.11. Exercise 3 CV [https://docs.google.com/presentation/d/1TukhOGCl7tRNWbIWEXiJQiUxk_oye-7sWHju60ihjEM/edit?usp=sharing slides][https://drive.google.com/file/d/1kRJpC3xL1AEVwYM15rIu2ciQldg1Muiu/view?usp=sharing data] | ||
+ | *1.12. Exercise 4 CV [https://docs.google.com/presentation/d/1VkKJjRB_FeBDZ_qaThgnPyMKejxmuGAV4824MXddk_Y/edit?usp=sharing slides] [https://drive.google.com/file/d/1GaLXdzw62I3HRvcZwTyfRk9tEaAHiXpV/view?usp=sharing data] | ||
+ | *8.12. Exercise 5 CV [https://docs.google.com/presentation/d/1MqMF7ocu4A6IaQ29CHzCdJhZstINlf8AGBDINS2Ns9U/edit?usp=sharing slides] | ||
+ | *15.12. Consultations online | ||
+ | ---> | ||
+ | |||
+ | <!--- | ||
+ | * Slides & project assignment: [https://github.com/danasko/zpgso GitHub] | ||
+ | |||
+ | Guide: Adam Riečický | ||
+ | |||
+ | Mondays at 16:30 on [https://teams.microsoft.com/l/channel/19%3ac7d4a4b8193e42a7ba7bd4c9fbb24599%40thread.tacv2/General?groupId=06d7acf3-8480-4c8f-aa56-6e71fd0ebbb1&tenantId=ce31478d-6e7a-4ce7-8670-a5b9d51884f9 Teams] | ||
+ | |||
+ | == Slides == | ||
[https://docs.google.com/presentation/d/1Zv6LJ8nKIB84ly_YBpJAT8rXI4Vtxh-a2hK7H4ay_Wk/edit?usp=sharing Slides #01] | [https://docs.google.com/presentation/d/1Zv6LJ8nKIB84ly_YBpJAT8rXI4Vtxh-a2hK7H4ay_Wk/edit?usp=sharing Slides #01] | ||
− | -- | + | [https://docs.google.com/presentation/d/17zB9-BhQa0jSjLs8bDOdfUHmf9MJ3dDp5bEQi-82cGE/edit?usp=sharing Slides #02] |
− | === | + | [https://docs.google.com/presentation/d/14luAuPU26NjKMbQRf7leVxUwQcGh0ZLBmvQ4uR4Kerc/edit?usp=sharing Slides #03] |
+ | |||
+ | [https://docs.google.com/presentation/d/1IXT5HbH1q7LhgGfYJkI5khzezfBqzTT1jnp3d15VWGY/edit#slide=id.p Slides #04] | ||
+ | |||
+ | [https://docs.google.com/presentation/d/1y2rWsXCrkgj68UuLU-ELztN57ofnoie7oG5DmgUJXKI/edit#slide=id.g29c1b949f2_0_0 Slides #05] | ||
+ | |||
+ | == Project == | ||
Choose programming language of your liking (suggested Python/Java/Javascript) | Choose programming language of your liking (suggested Python/Java/Javascript) | ||
Riadok 45: | Riadok 147: | ||
Finished project send to ''adam.riecicky@fmph.uniba.sk'' | Finished project send to ''adam.riecicky@fmph.uniba.sk'' | ||
− | + | === Stage 1 (3p) === | |
− | ''Deadline | + | ''Deadline 22.11.2020 23:59'' |
Create a simple loader and visualizer of meshes, stored in obj. file format. | Create a simple loader and visualizer of meshes, stored in obj. file format. | ||
Riadok 60: | Riadok 162: | ||
: [https://dai.fmph.uniba.sk/upload/a/a9/Img2.png screen 2] | : [https://dai.fmph.uniba.sk/upload/a/a9/Img2.png screen 2] | ||
− | + | === Stage 2 (10p) === | |
− | ''Deadline | + | ''Deadline 22.12.2020 23:59'' |
Add transformation controls to your tool. | Add transformation controls to your tool. | ||
; Structures | ; Structures | ||
− | : implement math types Mat4 and Vec4. Add functions Multiply(Mat4, Mat4) | + | : implement math types ''Mat4'' and ''Vec4''. |
+ | : Add functions ''Multiply(Mat4, Mat4)'', ''Multiply(Mat4, Vec4)'' OR override the multiplication operator. | ||
; Transformations - must be implemented using matrix multiplication! | ; Transformations - must be implemented using matrix multiplication! | ||
− | : Add buttons that can control the transformations of the model. | + | : Add buttons that can control the transformations of the model. When a user requests transformation by clicking a button, a model matrix should be constructed. (Optionally added to the previous transformation) |
− | : Motel matrix can be reset to identity using a button | + | : Motel matrix can be ''reset to identity'' using a Reset button |
− | : Construct projection matrix which performs primitive orthogonal projection and transforms the object into the viewport | + | : Construct a projection matrix which performs primitive orthogonal projection and transforms the object into the viewport (scale and translate as in the previous stage) |
− | : Always store the original model. | + | : Always store the original model. Model transformation and projection is done for each point just before rendering |
; Examples of the functional program: | ; Examples of the functional program: | ||
Riadok 78: | Riadok 181: | ||
: [https://dai.fmph.uniba.sk/upload/8/81/Img3.png screen 3] = Imported, translated by -0.6 in X-axis, rotated by 0.6 rad around Y-axis, rotated by 0.4 rad around Z-axis and scaled by factor 1.1, in order | : [https://dai.fmph.uniba.sk/upload/8/81/Img3.png screen 3] = Imported, translated by -0.6 in X-axis, rotated by 0.6 rad around Y-axis, rotated by 0.4 rad around Z-axis and scaled by factor 1.1, in order | ||
− | + | === Stage 3 (7p) === | |
− | ''Deadline | + | ''Deadline 27.1.2021 23:59'' |
Enhance existing visualization tool by implementing Blinn-Phong Lightning Model | Enhance existing visualization tool by implementing Blinn-Phong Lightning Model | ||
Riadok 85: | Riadok 188: | ||
; Mesh display | ; Mesh display | ||
: Implement back-face culling. Faces on the far side of the mesh should not be rendered | : Implement back-face culling. Faces on the far side of the mesh should not be rendered | ||
− | : Display solid model - each face is | + | : Display solid model - each face is drawn as a polygon filled with color (no edges) |
: Final face color should be calculated as multiples of base color and intensity calculated by Blinn-Phong | : Final face color should be calculated as multiples of base color and intensity calculated by Blinn-Phong | ||
; Controls | ; Controls | ||
− | : Add an interface to control the direction of incoming light | + | : Add an interface to control the direction or position of the incoming light |
; Examples of the functional program: | ; Examples of the functional program: | ||
: [https://dai.fmph.uniba.sk/upload/b/bd/Zpgso_pr2_scr1.png screen 1] | : [https://dai.fmph.uniba.sk/upload/b/bd/Zpgso_pr2_scr1.png screen 1] | ||
: [https://dai.fmph.uniba.sk/upload/7/71/Zpgso_pr2_scr2.png screen 2] | : [https://dai.fmph.uniba.sk/upload/7/71/Zpgso_pr2_scr2.png screen 2] | ||
+ | |||
+ | === Bonus Points === | ||
+ | ''Submit with Stage 3'' | ||
+ | |||
+ | Extend your visualization options by the following features to earn bonus points. Attention: Your point total (including bonus points) will not exceed 25 points for exercises from computer graphics part. | ||
+ | |||
+ | ; Material Properties (1p) | ||
+ | : Expose material properties ka, kd, ks, shininess, and color to GUI. Re-render image when the user changes these properties. | ||
+ | |||
+ | ; Lighting Model Selection (2p) | ||
+ | : Implement a switch that allows the selection between two lighting models (Phong vs Blin-Phong). The difference should be minimal but it is a proof of concept. | ||
+ | |||
+ | ; Light Types (3p) | ||
+ | : Add possibility to select the light type (point light, sun/directional light) - the GUI option should also change from "light direction" to "light position". | ||
+ | ---> |
Aktuálna revízia z 10:38, 18. september 2024
Fundamentals of Computer Graphics and Image Processing 1-AIN-301
Obsah
- Lectures
- Martin Madaras
- Zuzana Berger Haladová
- Excercises
- Zuzana Berger Haladová
Grading
You can get 100 points (p) during semester, where 1pt = 1% of final grade
- Final writen exam: 50p
- Excercises: 50p (with minimum of 30p)
- 2 home assignments (projects): 2x20p (1 from CG part and 1 from IP part)
- Attendance: 10x1p
- Body
Materials
- Žára a kol. Moderní počítačová grafika
- Ružický, Ferko: Počítačová grafika a spracovanie obrazu
- Šikudová a kol. Počítačové videnie: Detekcia a rozpoznávanie objektov
Lectures
- 24.9. Introduction (MM+ZBH) CG_00_Introduction_slides
Labs
- 26.9. VR