d |
d (→Assignment CG) |
||
Riadok 31: | Riadok 31: | ||
== Assignment CG == | == Assignment CG == | ||
+ | |||
+ | Choose programming language of your liking (suggested Python/Java/Javascript) | ||
+ | Finished project send to **adam.riecicky@fmph.uniba.sk** | ||
+ | |||
=== Stage 1 (13p) === | === Stage 1 (13p) === | ||
''Deadline 6.10. 3:00 AM'' | ''Deadline 6.10. 3:00 AM'' | ||
Riadok 43: | Riadok 47: | ||
: display wireframe model in center of a screen so that Y axis of model directs upwards and X axis directs right. (Z is ignored) | : display wireframe model in center of a screen so that Y axis of model directs upwards and X axis directs right. (Z is ignored) | ||
; Transformations - must be implemented using matrix multiplication ! | ; Transformations - must be implemented using matrix multiplication ! | ||
− | : Add | + | : Add buttons which can control transformations of model. It must include |
− | : | + | : Always remember original transformation and reset it using a button |
Examples of functional program: | Examples of functional program: | ||
Riadok 50: | Riadok 54: | ||
[[https://dai.fmph.uniba.sk/upload/a/a9/Img2.png screen 2]], | [[https://dai.fmph.uniba.sk/upload/a/a9/Img2.png screen 2]], | ||
[[https://dai.fmph.uniba.sk/upload/8/81/Img3.png screen 3]] | [[https://dai.fmph.uniba.sk/upload/8/81/Img3.png screen 3]] | ||
+ | |||
+ | === Stage 2 (7p) === | ||
+ | ''Deadline 6.10. 3:00 AM'' | ||
+ | |||
+ | Enhance existing visualization tool by implementing Phong Lightning Model (PLM). | ||
+ | ([https://dai.fmph.uniba.sk/upload/a/a2/ZPGSO2016_EX05.pdf Excercise 05 notes]) | ||
+ | |||
+ | ; Mesh display | ||
+ | : implement back-face culling. Faces on the far side of mesh should not be rendered (neither PLM calculated) | ||
+ | : display solid model - each face is a drawn as a polygon filled with color (no edges) | ||
+ | : final face color should be calculated as multiple of base color and intensity calculated by PLM | ||
+ | ; Controls | ||
+ | : Add interface to control incoming light direction | ||
+ | : Always remember original transformation and reset it using a button |
Verzia zo dňa a času 11:02, 13. november 2017
Fundamentals of Computer Graphics and Image Processing 1-AIN-301
Obsah
- Lecture
- Wednesday 9:50, M-I
- Excercises
- Monday 18:10, F1-248
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)
- 4 home assignments: 4x10p (2 from CG part and 2 from IP)
- Attendance: 10x1p
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
Assignment CG
Choose programming language of your liking (suggested Python/Java/Javascript) Finished project send to **adam.riecicky@fmph.uniba.sk**
Stage 1 (13p)
Deadline 6.10. 3:00 AM
Create simple visualization and transformation tool for meshes, stored in obj. file format.
- Structures
- implement math types Mat4 and Vec4. Add functions Multiply(Mat4, Mat4) and Multiply(Vec4, Mat4).
- implement IndexedFace which contains array of Vec4 vertices and array of Int indices
- Mesh import and display
- load mesh from Wavefront file (.obj). [Download test models here]. Assume that all imported models are scaled to box (2x2).
- display wireframe model in center of a screen so that Y axis of model directs upwards and X axis directs right. (Z is ignored)
- Transformations - must be implemented using matrix multiplication !
- Add buttons which can control transformations of model. It must include
- Always remember original transformation and reset it using a button
Examples of functional program: [screen 1], [screen 2], [screen 3]
Stage 2 (7p)
Deadline 6.10. 3:00 AM
Enhance existing visualization tool by implementing Phong Lightning Model (PLM). (Excercise 05 notes)
- Mesh display
- implement back-face culling. Faces on the far side of mesh should not be rendered (neither PLM calculated)
- display solid model - each face is a drawn as a polygon filled with color (no edges)
- final face color should be calculated as multiple of base color and intensity calculated by PLM
- Controls
- Add interface to control incoming light direction
- Always remember original transformation and reset it using a button