Computer Graphics
-
Uključiti testiranje dubine i sakrivanje nevidljivih površina. Definisati projekciju u perspektivi (fov=45, near=1, a vrednost far po potrebi) i viewport-om preko celog prozora unutar Resize metode.
-
Koristeći AssimpNet bibloteku i klasu AssimpScene, učitati model računara. Ukoliko je model podeljen u nekoliko fajlova, potrebno ih je sve učitati i iscrtati. Skalirati model, ukoliko je neophodno, tako da bude vidljiv u celosti.
-
Modelovati sledeće objekte:
- podlogu koristeći
GL_QUADS
primitivu, - računarski sto korišćenjem Cube klase
- CD korišćenjem Disk klase
- podlogu koristeći
-
Ispisati 2D tekst žutom bojom u donjem desnom uglu prozora (redefinisati viewport korišćenjem
glViewport
metode). Font je Tahoma, 10pt, italic i underline. Tekst treba da bude oblika:Predmet: Racunarska grafika Sk.god: 2020/21. Ime: <ime_studenta> Prezime: <prezime_studenta> Sifra zad: <sifra_zadatka>
Predmetni projekat - faza 1 sačuvati pod nazivom: PF1S6.2. Obrisati poddirektorijume bin
i obj
. Zadaci se brane na vežbama, pred asistentima.
Vreme za izradu predmetnog projekta – faze 1 su dve nedelje. Predmetni projekat – faza 1 vredi 15 bodova. Način bodovanja je prikazan u tabeli.
Šifra kriterijuma | Bodovi | Opis |
---|---|---|
CVP | 3 | Kreiran prozor. Uključeno testiranje dubine i sakrivanje nevidljivih površina. Projekcija, kliping volumen i viewport podešeni. |
M | 9 | Adekvatno učitani ili modelovani pa zatim prikazani mesh modeli. |
T | 3 | Ispisan tekst adekvatnim fontom, bojom, i na adekvatnoj poziciji. |
-
Uključiti color tracking mehanizam i podesiti da se pozivom metode
glColor
definiše ambijentalna i difuzna komponenta materijala. -
Definisati tačkasti svetlosni izvor bele boje i pozicionirati ga iznad centra scene (na pozitivnom delu y-ose scene). Svetlosni izvor treba da bude stacionaran (tj. transformacije nad modelom ne utiču na njega). Definisati normale za podlogu. Za Quadric objekte podesiti automatsko generisanje normala.
-
Za teksture podesiti wrapping da bude
GL_REPEAT
po obema osama. Podesiti filtere za teksture tako da se koristi najbliži sused filtriranje. Način stapanja teksture sa materijalom postaviti da budeGL_MODULATE
. -
Stolu pridružiti teksturu drveta. Definisati koordinate tekstura.
-
Podlozi pridružiti teksturu tepiha (slika koja se koristi je jedan segment tepiha). Pritom obavezno skalirati teksturu (shodno potrebi).Skalirati teksturu korišćenjem Texture matrice.
-
Pozicionirati kameru, tako da se vide podloga, kao i bočna i zadnja strana stola. Koristiti
gluLookAt
metodu. -
Pomoću ugrađenih WPF kontrola, omogućiti sledeće:
- horizontalnu poziciju računara na stolu,
- izbor ambijentalne komponente reflektorskog izvora svetlosti, i
- izbor faktora (uniformnog) skaliranja računara.
-
Omogućiti interakciju sa korisnikom preko tastature: sa
F4
se izlazi iz aplikacije, tasterimaW
/S
vrši se rotacija za 5 stepeni oko horizontalne ose, tasterimaA
/D
vrši se rotacija za 5 stepeni oko vertikalne ose, a tasterima+
/-
približavanje i udaljavanje centru scene. Ograničiti rotaciju tako da se nikada ne vidi donja strana podloge. Dodatno ograničiti rotaciju oko horizontalne ose tako da scena nikada ne bude prikazana naopako. -
Definisati reflektorski svetlosni izvor (cut-off=30º) crvene boje iznad računara, usmeren ka računaru.
-
Način stapanja teksture sa materijalom podloge postaviti na
GL_ADD
. -
Kreirati animaciju ubacivanja CD-a u računar. Animacija treba da sadrži sledeće:
- CD čitač računara se otvara.
- CD se nalazi unutar njegovog ležište i polako počinje da usporava rotaciju.
- Kada se potpuno zaustavi, ispada iz ležišta i čitač se zatvara.
U toku animacije, onemogućiti interakciju sa korisnikom (pomoću kontrola korisničkog interfejsa i tastera). Animacija se može izvršiti proizvoljan broj puta i pokreće se pritiskom na taster
C
.
Neophodne teksture pronaći na internetu. Predmetni projekat - faza 2 sačuvati pod nazivom: PF2S6.2. Obrisati poddirektorijume bin
i obj
. Zadaci se brane na vežbama, pred asistentima.
Vreme za izradu predmetnog projekta - faze 2 su četiri nedelje. Predmetni projekat - faza 2 vredi 35 bodova. Način bodovanja je prikazan u tabeli.
Šifra kriterijuma | Bodovi | Opis |
---|---|---|
M | 2 | Podešeni materijali u skladu sa zahtevima zadatka. |
S | 8 | Definisani svetlosni izvori, u skladu sa zahtevima zadatka. |
T | 8 | Učitane, dodeljene, podešene, i mapirane teksture, u skladu sa zahtevima zadatka. |
K | 2 | Definisana kamera. |
I | 7 | Omogućena interakcija, u skladu sa zadatkom. |
A | 8 | Realizovana animacija, u skladu sa zadatkom. |
A
/D
- rotate scene around the vertical axis (Y)W
/S
- rotate scene around the horizontal axis (X)+
/-
- Zoom In/OutF4
- close the applicationF2
- load another modelC
- begin animation