This is an old revision of the document!
Scopul temei este aprofundarea notiunilor framebuffer, reflexia si refractia luminii, sisteme de particule.
Se doreste simularea spargerii unui obiect simplu din sticla cu ajutorul unui sistem de particule in care fiecare particula reprezinta un ciob.
Pozitiile initiale ale particulelor reprezinta obiectul intact, inainte sa fie spart.
Utilizand Geometry Shader, se expandeaza fiecare primitiva (vertex(ca in exemplu) sau triunghi) a obiectului in forme geometrice simple precum un tetraedru sau un triunghi cu adancime (ca in exemplu, 8 triunghiuri, Fig 2).
Refle Pentru reflexie si refractie: Normalele in World Space vor fi calculate tot in acest pas, folosind rotatia particulei sau cu produs vectorial . Aceasta rotatie trebuie adaugata ca informatie in SSBO (
Starea initiala a particulelor
Barem orientativ pentru realizarea functionalitatilor (din 150 puncte):
Pentru intrebari vom folosi forumurile de pe moodle.
Baremul este orientativ. Fiecare asistent are o anumita libertate in evaluarea temelor (de exemplu, sa dea punctaj partial pentru implementarea incompleta a unei functionalitati sau sa scada pentru hard coding). Acelasi lucru este valabil atat pentru functionalitatile obligatorii, cat si pentru bonusuri.
Tema trebuie incarcata pe moodle. Pentru a fi punctata, tema trebuie prezentata la laborator. Vor exista laboratoare speciale de prezentare a temelor (care vor fi anuntate).
Tema va fi implementata in OpenGL si C++. Este indicat sa folositi framework-ul si Visual Studio.
Pentru implementarea temei, in folderul Source/Laboratoare/ puteti crea un nou folder, de exemplu Tema1, cu fisierele Tema1.cpp si Tema1.h (pentru implementare POO, este indicat sa aveti si alte fisiere). Pentru a vedea fisierele nou create in Visual Studio in Solution Explorer, apasati click dreapta pe filtrul Laboratoare si selectati Add→New Filter. Dupa ce creati un nou filtru, de exemplu Tema1, dati click dreapta si selectati Add→Existing Item. Astfel adaugati toate fisierele din folderul nou creat. In fisierul LabList.h trebuie adaugata si calea catre header-ul temei. De exemplu: #include <Laboratoare/Tema1/Tema1.h>
3 noiembrie ora 23:55