Differences

This shows you the differences between two versions of the page.

Link to this comparison view

ipg:tema:2025 [2025/12/08 19:00]
andrei.lambru
ipg:tema:2025 [2025/12/08 20:44] (current)
andrei.lambru
Line 11: Line 11:
 Concepția jocului este //**în totalitate**//​ la alegerea voastră. Tema aceasta nu impune niciun joc propriu-zis. Va trebui sa concepeți voi unul :) . De asemenea, tematica jocului este în totalitate la alegerea voastră. Concepția jocului este //**în totalitate**//​ la alegerea voastră. Tema aceasta nu impune niciun joc propriu-zis. Va trebui sa concepeți voi unul :) . De asemenea, tematica jocului este în totalitate la alegerea voastră.
  
-În total, 1 punct din cele 3 puncte ale temei, după cum se poate vedea mai jos, se alocă pentru comportamentul de joc ales de voi. Astfel, vă încurajez să fiți cât mai creativi :) !+În total, 1 punct din cele 3 puncte ale temei, după cum se poate vedea în cadrul baremului de mai jos, se alocă pentru comportamentul de joc ales de voi și pentru complexitatea vizuală a jocului. Astfel, vă încurajez să fiți cât mai creativi :) !
  
-Punctajul pentru această temă poate fi extins până la 4 puncte. Pe lângă cele 3 puncte de bază, ​orice rezultat ​bun din punct de vedere ​calitativ ​poate crește ​cu până la 1 punct bonus.+Punctajul pentru această temă poate fi extins până la 4 puncte. Pe lângă cele 3 puncte de bază, ​un joc cu o calitate ​bună, în special ​din punct de vedere ​al elementelor de programare a graficii, ​poate obține ​cu până la 1 punct bonus.
 </​note>​ </​note>​
  
Line 20: Line 20:
 ==== Funcționalități obligatorii (3 puncte) ==== ==== Funcționalități obligatorii (3 puncte) ====
  
-  * Desenare ​elemente vizuale ​(0.5p total) +  * Desenare ​obiecte ​(0.5p total) 
-    * Desenare geometrie ​element ​- 0.1p per element, conform descrierii de mai jos+    * Desenare geometrie ​obiecte ​- 0.1p per obiect, conform descrierii de mai jos
   * Curbură geometrie lume virtuală (0.3p)   * Curbură geometrie lume virtuală (0.3p)
   * Animații personaj (0.75p total)   * Animații personaj (0.75p total)
Line 29: Line 29:
     * Iluminare cu cel puțin 10 surse de lumină la orice moment de timp, pentru care nu se calculează umbre - 0.15p     * Iluminare cu cel puțin 10 surse de lumină la orice moment de timp, pentru care nu se calculează umbre - 0.15p
     * Iluminare cu cel puțin 3 surse de lumină la orice moment de timp, pentru care se calculează umbre - 0.3p     * Iluminare cu cel puțin 3 surse de lumină la orice moment de timp, pentru care se calculează umbre - 0.3p
-  * Comportament de joc, complexitate ​construcție geometrie, creativitate ​în utilizarea tehnicilor studiate în cadrul acestui curs :) (1p)+  ​* Joc (1p total) 
 +    ​* Comportament de joc - 0p...0.5p 
 +    * Complexitate ​construcție geometrie ​- 0p...1p 
 +    * Creativitate ​în utilizarea tehnicilor studiate în cadrul acestui curs :) - 0p...1p 
 + 
 +<note tip> 
 +Ultima cerință din barem are punctaj dinamic. Altfel spus, puteți obține totalul de 1 punct pe baza complexității doar a unui subset din cerințele menționate. 
 + 
 +Astfel, vă puteți concentra pe anumite aspecte ale jocului mai mult decât pe altele, cu observația că elementele ce țin de domeniul de programare a graficii vor fi notate mai consistent față de cele ce țin de domeniul de programare a jocurilor video. De asemenea, aspectul vizual obținut în urma utilizării tehnicilor studiate în cadrul acestui curs vor fi punctate consistent :
 +</​note>​
  
 ===== Detalii de implementare ===== ===== Detalii de implementare =====
  
-==== Construcție ​elemente vizuale ​====+==== Construcție ​obiecte ​====
  
-Trebuie să realizați cel puțin //**5 elemente vizuale**//.+Trebuie să construiți geometria pentru ​cel puțin //**5 obiecte**// din lumea virtuală a jocului.
  
 <​note>​ <​note>​
-Pentru simplitate, vom specifica aici faptul că toate elementele vizuale ​descrise mai jos: +Pentru simplitate, vom specifica aici faptul că toate obiectele ​descrise mai jos: 
-  * Trebuie construite exclusiv din cod. NU este permisă încărcarea unor modele 3D din fișiere pentru ​realizarea elementelor vizuale.+  * Trebuie construite exclusiv din cod. NU este permisă încărcarea unor modele 3D din fișiere pentru ​desenarea obiectelor obligatorii.
   * Trebuie să fie colorate prin aplicarea a cel puțin unei texturi;   * Trebuie să fie colorate prin aplicarea a cel puțin unei texturi;
   * În descrierea de mai jos, complexitatea geometriei este descrisă prin cuburi/​paralelipipede,​ dar pentru creșterea punctajului de la ultima cerință din barem, se încurajează utilizarea unor forme geometrice mai complexe precum discurile de cerc, cilindrii, conurile :) ...   * În descrierea de mai jos, complexitatea geometriei este descrisă prin cuburi/​paralelipipede,​ dar pentru creșterea punctajului de la ultima cerință din barem, se încurajează utilizarea unor forme geometrice mai complexe precum discurile de cerc, cilindrii, conurile :) ...
-  * Așezarea componentelor din care este realizat un element vizual, împreună cu texturile aplicate la desenarea componentelor,​ trebuie să fie consistente cu comportamentul și tematica jocului. Altfel spus, toate elementele vizuale ​trebuie să aibă sens în lumea virtuală a jocului, nu doar să fie introduse pentru respectarea cerinței minime :) .+  * Așezarea componentelor din care este realizat un obiect, împreună cu texturile aplicate la desenarea componentelor,​ trebuie să fie consistente cu comportamentul și tematica jocului. Altfel spus, toate obiectele ​trebuie să aibă sens în lumea virtuală a jocului, nu doar să fie introduse pentru respectarea cerinței minime :) .
 </​note>​ </​note>​
  
-Cel mai simplu ​element vizual ​din lumea virtuală a jocului poate fi realizat sub forma unui cub sau a unui paralelipiped. Paralelipipedul se poate obține din geometria unui cub, prin desenarea celui din urmă cu o transformare ​de redimensionare ​neuniformă.+Cel mai simplu ​obiect ​din lumea virtuală a jocului poate fi realizat sub forma unui cub sau a unui paralelipiped. Paralelipipedul se poate obține din geometria unui cub, prin desenarea celui din urmă cu o transformare neuniformă de modificare de scară.
  
-Următorul ​element vizual ​ce trebuie construit este compus din cel puțin 3 cuburi sau paralelipipede.+Următorul ​obiect ​ce trebuie construit este compus din cel puțin 3 cuburi sau paralelipipede.
  
-Un alt element vizual ​trebuie să fie construit din cel puțin 3 cuburi sau paralelipipede,​ similar cu cel descris anterior, dar în situația acestuia, cel puțin o componentă din care este construit trebuie să aibă o animație continuă.+Un alt obiect ​trebuie să fie construit din cel puțin 3 cuburi sau paralelipipede,​ similar cu cel descris anterior, dar în situația acestuia, cel puțin o componentă din care este construit trebuie să aibă o animație continuă.
  
-Un alt element element vizual ​trebuie construit din cel puțin 3 cuburi sau paralelipipede și trebuie să conțină cel puțin o sursă de lumină atașată de el. Această sursă de lumină trebuie să poată lumina orice obiect din lumea virtuală.+Un alt obiect ​trebuie construit din cel puțin 3 cuburi sau paralelipipede și trebuie să conțină cel puțin o sursă de lumină atașată de el. Această sursă de lumină trebuie să poată lumina orice obiect din lumea virtuală.
  
-Similar cu elementul vizual ​descris anterior, ultimul ​element vizual ​obligatoriu trebuie să fie construit din cel puțin 3 cuburi sau paralelipipede și să conțină cel puțin o sursă de lumină atașată de el, care să aiba un comportament de iluminare ce se modifică continuu. Posibile modificări ale sursei ​comportamentului de iluminare pot fi schimbarea culorii/​intensității de iluminare.+Similar cu obiectul ​descris anterior, ultimul ​obiect ​obligatoriu trebuie să fie construit din cel puțin 3 cuburi sau paralelipipede și să conțină cel puțin o sursă de lumină atașată de el, care să aibă un comportament de iluminare ce se modifică continuu. Posibile modificări ale comportamentului de iluminare pot fi schimbarea culorii/​intensității de iluminare.
  
 <note tip> <note tip>
-O parte din punctajul ultimei cerințe din barem este proportională cu complexitatea geometriei construite :) . Astfel, //**vă încurajez să vă folosiți creativitatea pentru crearea unei lumi virtuale cât mai plăcute și interesante**//,​ conform tematicii alese de voi pentru joc.+O parte din punctajul ultimei cerințe din barem este proporțională cu complexitatea geometriei construite :) . Astfel, //**vă încurajez să vă folosiți creativitatea pentru crearea unei lumi virtuale cât mai plăcute și interesante**//,​ conform tematicii alese de voi pentru joc.
 </​note>​ </​note>​
  
Line 77: Line 86:
  
  
-<​note>​+<​note ​tip>
   * $Pozitie_v$ - poziția în spațiul lumii a vârfului procesat de vertex shader   * $Pozitie_v$ - poziția în spațiul lumii a vârfului procesat de vertex shader
-  * $Pozitie_{camera}$ - poziția în spațiul lumii a personajului controlat de jucător+  * $Pozitie_{camera}$ - poziția în spațiul lumii a camerei
   * $\vec{control}$ - un vector de control al direcției în care se realizează curbura   * $\vec{control}$ - un vector de control al direcției în care se realizează curbura
-    * Cateva exemple de valori pentru acest vector de control pot fi: În situația în care se dorește realizarea curburii în direcția jos, se utilizează vectorul ​ $\vec{control}= ​ \begin{bmatrix} 0 & -1 & 0 \end{bmatrix} $ . În situația în care se dorește realizarea curburii în stânga-jos,​ relativ la axele principale, vectorul este   ​$\vec{control}= ​ \begin{bmatrix} -1 & -1 & 0 \end{bmatrix} $ . 
   * $factorCurbura$ - un factor ce controlează curbura geometriei   * $factorCurbura$ - un factor ce controlează curbura geometriei
 </​note>​ </​note>​
 +
 +Câteva exemple de valori pentru vectorul de control pot fi:
 +  * În situația în care se dorește realizarea curburii în direcția jos, relativ la axele de coordonate, se utilizează vectorul ​ $\vec{control}= ​ \begin{bmatrix} 0 & -1 & 0 \end{bmatrix} $ .
 +  * În situația în care se dorește realizarea curburii în stânga-jos,​ relativ la axele principale, vectorul este   ​$\vec{control}= ​ \begin{bmatrix} -1 & -1 & 0 \end{bmatrix} $ .
  
 Factorul de curbură este proporțional cu dimensiunea obiectelor din lume. O valoare posibilă pentru factorul de curbură este 0.02. Factorul de curbură este proporțional cu dimensiunea obiectelor din lume. O valoare posibilă pentru factorul de curbură este 0.02.
Line 116: Line 128:
 === Animații === === Animații ===
  
-Geometria personajului trebuie **să realizeze cel puțin 3 tipuri animații distincte**. Toate animatiile ​trebuie ​sa fie continue. Acestea trebuie ​sa fie realizate prin utilizarea a cel putin unei transformari ​de rotatie+Geometria personajului trebuie **să realizeze cel puțin 3 tipuri ​de animații distincte**. Toate animațiile ​trebuie ​să fie continue. Acestea trebuie ​să fie realizate prin utilizarea a cel puțin ​unei transformări ​de rotație
  
-Un exemplu de animație posibilă pentru personajul a cărui geometrie este prezentată mai sus poate fi este o animatie ​de deplasare a personajului,​ precum cea consultată ​mai jos.+Un exemplu de animație posibilă pentru personajul a cărui geometrie este prezentată mai sus este o animație ​de deplasare a personajului,​ precum cea de mai jos.
  
 {{ :​ipg:​tema:​animation1.gif?​600 |}} {{ :​ipg:​tema:​animation1.gif?​600 |}}
Line 137: Line 149:
  
 În cadrul acestei teme, trebuie să realizați mediul unei lumi virtuale în care la orice moment de timp sunt prezente: În cadrul acestei teme, trebuie să realizați mediul unei lumi virtuale în care la orice moment de timp sunt prezente:
-  * Cel puțin 10 surse de lumină de tip point/spot. Pentru aceste surse de lumină nu trebuie calculate umbre;+  * Cel puțin 10 surse de lumină ​punctiforme/​de tip spot. Pentru aceste surse de luminănu trebuie calculate umbre;
   * Cel puțin 3 surse de lumină de tip spot pentru care se calculează umbre.   * Cel puțin 3 surse de lumină de tip spot pentru care se calculează umbre.
  
ipg/tema/2025.1765213227.txt.gz · Last modified: 2025/12/08 19:00 by andrei.lambru
CC Attribution-Share Alike 3.0 Unported
www.chimeric.de Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0