This shows you the differences between two versions of the page.
|
egc:teme:2025:03 [2025/12/14 16:04] 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 ======= | ||
| Line 141: | Line 139: | ||
| 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. | 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 ==== | ==== Comportament și mișcare ==== | ||
| Line 160: | Line 162: | ||
| 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. | 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 | + | În GIF-ul următor este ilustrat un exemplu pentru randarea și comportamentul licuricilor. |
| - | {{ :egc:teme:2025:egc_2025_t3_fireflies.gif?400 |}} | + | {{ :egc:teme:2025:egc_2025_t3_fireflies_no_light.gif?400 |}} |
| ===== Efectul de ceață (Fog) ===== | ===== Efectul de ceață (Fog) ===== | ||
| Line 219: | Line 221: | ||
| * Va avea culoare din nuanțe de galben-verde (caracteristic licuricilor) | * Va avea culoare din nuanțe de galben-verde (caracteristic licuricilor) | ||
| * Va avea intensitate variată pentru fiecare licurici | * Va avea intensitate variată pentru fiecare licurici | ||
| + | |||
| + | Î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 376: | Line 382: | ||
| c = texture2D(cookieTexture, vec2(u, v)).rgb | c = texture2D(cookieTexture, vec2(u, v)).rgb | ||
| </code> | </code> | ||
| + | |||
| + | ==== Integrare în scenă ==== | ||
| + | |||
| + | Î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): | ||
| + | |||
| + | {{ :egc:teme:2025:egc_2025_t3_spotlight_example.png?400 |}} | ||
| ===== Barem [150p] ===== | ===== Barem [150p] ===== | ||
| Line 397: | Line 409: | ||
| * 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 a cel puțin unei texturi folosind light cookies [40p] | + | * Proiecția a cel puțin unei texturi folosind light cookies [30p] |
| ===== Exemple de Funcționalități Bonus ===== | ===== Exemple de Funcționalități Bonus ===== | ||
| Line 441: | 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> | ||