This shows you the differences between two versions of the page.
spg:teme:2018:01 [2018/11/21 17:22] anca.morar |
— (current) | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ==== Tema 1 ==== | ||
- | Scopul temei este realizarea unui rau texturat, controlat de o curba bezier, cu efecte de particule si de postprocesare. | ||
- | |||
- | {{ :spg:2018:t1spg.jpg?nolink&750 |}} | ||
- | |||
- | <note>Imaginea este doar cu titlu informativ: se pot folosi orice tip de texturi pentru rau, fundal, particule (nu neaparat lava si foc)</note> | ||
- | |||
- | === Descriere === | ||
- | |||
- | Tema propune folosirea si combinarea cunostintelor dobandite in laboratoarele parcurse in ceea ce priveste generarea de suprafete, framebuffere si sisteme de particule. | ||
- | |||
- | Astfel, trebuie sa realizati in primul rand o suprafata (un rau) texturata, generata de puncte de control bezier (similar cu laboratorul 2 - Suprafete generate) - sunt suficiente 4 puncte. | ||
- | |||
- | Punctele de control trebuie sa poata fi controlate folosind mouse-ul. Se poate folosi o vedere 2D/statica asupra scenei pentru un control mai usor. Altfel, pentru interacțiunea mouse-ului cu o scena 3D puteți folosi metode de Color Picking sau Ray Casting: | ||
- | * https://www.opengl.org/archives/resources/faq/technical/selection.htm | ||
- | * http://www.opengl-tutorial.org/miscellaneous/clicking-on-objects/picking-with-an-openglhack/ | ||
- | |||
- | Pe directia de curgere a raului, trebuie sa aveti minim un sistem de particule functional. Punctul generator trebuie sa fie intotdeauna plasat in rau: daca se misca raul in functie de punctele de control, se va actualiza punctul (similar laborator 5 - Sisteme de particule). | ||
- | |||
- | Nu in ultimul rand, trebuie sa aplicati un efect de post-procesare (spre ex glow sau bloom) asupra raului. Acest lucru se poate face prin salvarea scenei intr-un framebuffer, aplicarea de post-procesari asupra acestuia si la final combinand rezultatele (similar laborator 6 - Deferred Rendering) | ||
- | |||
- | === Barem === | ||
- | |||
- | Barem orientativ pentru realizarea functionalitatilor (din 100 puncte): | ||
- | * generarea dinamica a curbei bezier in shader (25 puncte) | ||
- | * controlul curbei bezier folosind mouse-ul (mutarea punctelor de control) (25 puncte) | ||
- | * 1 efect de particule (25 puncte) | ||
- | * efect de post-procesare (de ex glow,bloom) (25 puncte) | ||
- | |||
- | === Bonusuri === | ||
- | * mai multe efecte de particule | ||
- | * animatie pentru rau (animarea texturii sau alte metode) | ||
- | * mai multe puncte de control | ||
- | * evironment map dinamic | ||
- | * alte detalii sau elemente de complexitate | ||
- | |||
- | |||
- | === Arhivarea proiectului === | ||
- | |||
- | <note> | ||
- | * in mod normal arhiva trebuie sa contina toate resursele necesare compilarii si rularii | ||
- | * inainte de a face arhiva asigurati-va ca ati dat clean la proiect | ||
- | * click dreapta pe proiect in **Solution Explorer** -> **Clean Solution**, sau | ||
- | * stergeti folderul __**/Visual Studio/obj**__ | ||
- | * stergeti fisierul __**/Visual Studio/Framework_SPG.sdf**__ (in caz ca exista) | ||
- | * stergeti fisierul __**/Visual Studio/Framework_SPG.VC.db**__ (in caz ca exista) | ||
- | * stergeti folderul __**/x64**__ sau __**/x86**__ (in caz ca exista) | ||
- | * executabilul final este generat in folderul __**/x86**__ sau __**/x64**__ la finalul link-editarii in functie de arhitectura aleasa la compilare (32/64 biti) | ||
- | * in cazul in care arhiva tot depaseste limita de 20MB (nu ar trebui), puteti sa stergeti si folderul __**/libs**__ sau __**/Resources**__ intrucat se pot adauga la testare. Nu este recomandat sa faceti acest lucru intrucat ingreuneaza mult testarea in cazul in care versiunea curenta a librariilor/resurselor difera de versiunea utilizata la momentul scrierii temei. | ||
- | </note> | ||
- | |||
- | === Deadline tema === | ||
- | |||
- | 28 noiembrie ora 23:55 |