Differences

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

Link to this comparison view

egc:teme:2025:03 [2025/12/14 13:52]
andrei.lapusteanu
egc:teme:2025:03 [2025/12/14 22:47] (current)
andrei.lapusteanu Public version!
Line 1: Line 1:
-<​hidden>​ 
- 
 ======= Tema 3 - Firefly Forest ======= ======= Tema 3 - Firefly Forest =======
  
   * **Responsabili:​** Andrei Lăpușteanu,​ Vlad-Matei Drăghici, Mihnea-Petruţ-Ilie Mitrache   * **Responsabili:​** Andrei Lăpușteanu,​ Vlad-Matei Drăghici, Mihnea-Petruţ-Ilie Mitrache
   * **Lansare:​** 14 decembrie 2025   * **Lansare:​** 14 decembrie 2025
-  * **Termen de predare:** 18 ianuarie ​2025, ora 23:59+  * **Termen de predare:** 18 ianuarie ​2026, ora 23:59
   * **Regulament:​** [[egc:​teme:​regulament|]]   * **Regulament:​** [[egc:​teme:​regulament|]]
   * **Notă:** Această temă este considerată **temă suplimentară**   * **Notă:** Această temă este considerată **temă suplimentară**
   * **Orice informație ce nu a fost acoperită în acest document este la latitudinea voastră!**   * **Orice informație ce nu a fost acoperită în acest document este la latitudinea voastră!**
  
-<​note ​important>+<​note ​tip>
 În cadrul acestei teme puteți opta pentru a **lucra în echipe de maxim 2 studenți**! În cadrul acestei teme puteți opta pentru a **lucra în echipe de maxim 2 studenți**!
   * Cerințele sunt aceleași atât pentru o implementare în mod individual cât și în echipă   * Cerințele sunt aceleași atât pentru o implementare în mod individual cât și în echipă
Line 135: Line 133:
 De asemenea, vă recomandăm utilizarea unei texturi de tip "​seamless"​ pentru acest task. De asemenea, vă recomandăm utilizarea unei texturi de tip "​seamless"​ pentru acest task.
 </​note>​ </​note>​
 +
 +===== Licuricii =====
 +
 +==== Construcție și randare ====
 +
 +Licuricii sunt reprezentați de sfere mici cu shader emisiv. Aceștia emit propria lor culoare fără a fi iluminați de alte surse de lumină, creând efectul de strălucire caracteristic. Culoarea emisivă este considerată valoare finală, fără calcule de iluminare Phong, și este apoi atenuată prin ceață pentru consistență cu restul scenei.
 +
 +<​note>​
 +Lumina punctiformă produsă de licurici este tratată în secțiunea de //Iluminare -> Lumini punctiforme (Licurici)//​. În această secțiune se prezintă doar cum ar trebui să fie creată culoarea corespunzătoare (componenta emisivă) modelului de licurici (sfera).
 +</​note>​
 +
 +==== Comportament și mișcare ====
 +
 +Licuricii se vor deplasa pe traiectorii orbitale fie în jurul camerei, fie în jurul turnului (alegeți voi varianta care vă place). Fiecare licurici va avea:
 +  * **Rază orbitală** – distanța față de centrul orbitei (camera sau turnul)
 +  * **Viteză unghiulară** – viteza de rotație pe orbită
 +  * **Fază inițială** – poziția de start pe cerc
 +  * **Oscilație verticală** – mișcare sinusoidală pe axa Y pentru un efect mai natural
 +
 +Traiectoria rezultată va fi o combinație între mișcarea circulară orizontală și oscilația verticală:
 +
 +\[
 +x = C_x + R \cdot \cos(\omega t + \phi) \\
 +z = C_z + R \cdot \sin(\omega t + \phi) \\
 +y = C_y + h_0 + A \cdot \sin(\omega_v t + \phi_v)
 +\]
 +
 +unde \((C_x, C_y, C_z)\) reprezintă poziția în jurul căreia licuricii orbitează, \(R\) este raza orbitală, și \(A\) este amplitudinea oscilației verticale.
 +
 +În GIF-ul următor este ilustrat un exemplu pentru randarea și comportamentul licuricilor. ​
 +
 +{{ :​egc:​teme:​2025:​egc_2025_t3_fireflies_no_light.gif?​400 |}}
  
 ===== Efectul de ceață (Fog) ===== ===== Efectul de ceață (Fog) =====
Line 178: Line 208:
 Pentru un efect realistic, setați culoarea de ștergere a ecranului să fie acceași cu cea a ceții. Pentru un efect realistic, setați culoarea de ștergere a ecranului să fie acceași cu cea a ceții.
 </​note>​ </​note>​
- 
-===== Licuricii ===== 
- 
-==== Construcție și randare ==== 
- 
-Licuricii sunt reprezentați de sfere mici cu shader emisiv. Aceștia emit propria lor culoare fără a fi iluminați de alte surse de lumină, creând efectul de strălucire caracteristic. Culoarea emisivă este considerată valoare finală, fără calcule de iluminare Phong, și este apoi atenuată prin ceață pentru consistență cu restul scenei. 
- 
-==== Comportament și mișcare ==== 
- 
-Licuricii se vor deplasa pe traiectorii orbitale fie în jurul camerei, fie în jurul turnului (alegeți voi varianta care vă place). Fiecare licurici va avea: 
-  * **Rază orbitală** – distanța față de centrul orbitei (camera sau turnul) 
-  * **Viteză unghiulară** – viteza de rotație pe orbită 
-  * **Fază inițială** – poziția de start pe cerc 
-  * **Oscilație verticală** – mișcare sinusoidală pe axa Y pentru un efect mai natural 
- 
-Traiectoria rezultată va fi o combinație între mișcarea circulară orizontală și oscilația verticală: 
- 
-\[ 
-x = C_x + R \cdot \cos(\omega t + \phi) \\ 
-z = C_z + R \cdot \sin(\omega t + \phi) \\ 
-y = C_y + h_0 + A \cdot \sin(\omega_v t + \phi_v) 
-\] 
- 
-unde \((C_x, C_y, C_z)\) reprezintă poziția în jurul căreia licuricii orbitează, \(R\) este raza orbitală, și \(A\) este amplitudinea oscilației verticale. 
- 
-În GIF-ul următor este ilustrat un exemplu pentru randarea și comportamentul licuricilor 
- 
-{{ :​egc:​teme:​2025:​egc_2025_t3_fireflies.gif?​400 |}} 
  
 ===== Iluminare ===== ===== Iluminare =====
Line 220: Line 222:
   * Va avea intensitate variată pentru fiecare licurici   * Va avea intensitate variată pentru fiecare licurici
  
-{{ :​egc:​teme:​2025:​egc_2025_t3_point_lights.png?400 |}}+În GIF-ul următor este ilustrat un exemplu pentru iluminarea punctiformă produsă de lucurici: 
 + 
 +{{ :​egc:​teme:​2025:​egc_2025_t3_fireflies.gif?400 |}}
  
 <note important>​ <note important>​
Line 379: Line 383:
 </​code>​ </​code>​
  
 +==== Integrare în scenă ====
  
-==== Controlul ​spotlight-ului ====+În scenă ar trebui să existe două lumini de tip spotlight, orientate înspre sol, atașate turnului de observație ​pentru fiecare lumină "​sursa"​ va fi înfățișată sub forma unui model de con (vedeți conurile colorate cu negru în imaginea de mai jos, precum și un exemplu de rezultat pentru lumina de tip spot + light cookies):
  
-Spotlight-ul va putea fi controlat prin taste pentru a-i modifica poziția. Astfel, utilizatorul va putea: +{{ :egc:​teme:​2025:​egc_2025_t3_spotlight_example.png?​400 |}}
-  * Muta spotlight-ul pe axele X, Y, Z folosind taste dedicate +
-  * Schimba textura light cookie folosind o tastă+
  
 ===== Barem [150p] ===== ===== Barem [150p] =====
Line 397: Line 400:
       * Desenarea terenului (plan) [2.5p]       * Desenarea terenului (plan) [2.5p]
       * Textuarea cu repetare [7.5p]       * Textuarea cu repetare [7.5p]
-    * **Turnul de observație [10p]** +    * **Turnul de observație [15p]** 
-      * Asamblarea componentelor [5p]  +      * Asamblarea componentelor [10p
-      * Texturarea ​componenetelor ​[5p] +      * Texturarea ​componentelor ​[5p] 
-    * **Licuricii [20p]** +    * **Licuricii [15p]** 
-      * Desenarea licuricilor cu un shader emisiv [10p]+      * Desenarea licuricilor cu un shader emisiv [5p]
       * Logica de mișcare a licuricilor (orbitare cu oscilație) [10p]       * Logica de mișcare a licuricilor (orbitare cu oscilație) [10p]
   * **Efectul de ceață [15p]**   * **Efectul de ceață [15p]**
     * Implementarea efectului de ceață pentru toate obiectele scenei în Fragment Shader [15p]     * Implementarea efectului de ceață pentru toate obiectele scenei în Fragment Shader [15p]
   * **Iluminarea [70p]**   * **Iluminarea [70p]**
-    * **Lumini punctiforme (pentru licurici) [20p]** +    * **Lumini punctiforme (pentru licurici) [30p]** 
-      * Câte o lumină de culoare aleatorie pentru fiecare licurici [15p+      * Câte o lumină de culoare aleatorie pentru fiecare licurici [20p
-      * Deplasarea luminii odată cu licuriciul [5p+      * Deplasarea luminii odată cu licuriciul [10p
-    * **Lumini spotlight [50p]**+    * **Lumini spotlight [40p]**
       * Implementarea a minim 2 lumini tip spotlight [10p]       * Implementarea a minim 2 lumini tip spotlight [10p]
-      * Proiecția unei texturi folosind light cookies [35p] +      * Proiecția ​a cel puțin ​unei texturi folosind light cookies [30p]
-      * Modificarea texturii de light cookie si a direcției luminilor pe taste [5p]+
  
 ===== Exemple de Funcționalități Bonus ===== ===== Exemple de Funcționalități Bonus =====
Line 451: Line 453:
   * În cazul în care arhiva tot depășește limita de 50MB (nu ar trebui), puteți să ștergeți și folderul __**/​deps**__ sau __**/​assets**__ întrucât se pot adăuga la testare. Nu este recomandat să faceți acest lucru întrucât îngreunează mult testarea în cazul în care versiunea curentă a bibliotecilor/​resurselor diferă de versiunea utilizată la momentul scrierii temei.   * În cazul în care arhiva tot depășește limita de 50MB (nu ar trebui), puteți să ștergeți și folderul __**/​deps**__ sau __**/​assets**__ întrucât se pot adăuga la testare. Nu este recomandat să faceți acest lucru întrucât îngreunează mult testarea în cazul în care versiunea curentă a bibliotecilor/​resurselor diferă de versiunea utilizată la momentul scrierii temei.
 </​note>​ </​note>​
- 
-</​hidden>​ 
egc/teme/2025/03.1765713167.txt.gz · Last modified: 2025/12/14 13:52 by andrei.lapusteanu
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