This shows you the differences between two versions of the page.
egc:teme:2024:02 [2024/11/27 00:17] vlad.novetschi |
egc:teme:2024:02 [2024/12/09 14:41] (current) irina.mocanu |
||
---|---|---|---|
Line 2: | Line 2: | ||
* **Responsabili:** Anca Băluțoiu, Vlad Novetschi, Robert Caragicu, Silviu Stăncioiu | * **Responsabili:** Anca Băluțoiu, Vlad Novetschi, Robert Caragicu, Silviu Stăncioiu | ||
* **Lansare:** 18 noiembrie 2024 | * **Lansare:** 18 noiembrie 2024 | ||
- | * **Termen de predare:** 15 decembrie 2024, ora 23:59 | + | * **Termen de predare:** 17 decembrie 2024, ora 23:59 |
* **Regulament:** [[egc:teme:regulament|]] | * **Regulament:** [[egc:teme:regulament|]] | ||
* **Notă: Orice informație ce nu a fost acoperită în acest document este la latitudinea voastră!** | * **Notă: Orice informație ce nu a fost acoperită în acest document este la latitudinea voastră!** | ||
Line 73: | Line 73: | ||
Acest mesh va fi generat în C++ folosind o listă de vertecși și una de indici, precum în laboratorul 2. Toți vertecșii vor fi generați având componenta y a poziției egală cu 0, obținându-se un grid drept. Culorile și normalele atribuite în crearea mesh-ului nu au importanță, puteți alege valori constante pentru acestea. | Acest mesh va fi generat în C++ folosind o listă de vertecși și una de indici, precum în laboratorul 2. Toți vertecșii vor fi generați având componenta y a poziției egală cu 0, obținându-se un grid drept. Culorile și normalele atribuite în crearea mesh-ului nu au importanță, puteți alege valori constante pentru acestea. | ||
- | Pentru a-i oferi terenului o formă și o aparență plăcută, în timpul randării, se va modifica înălțimea vertecșilor acestuia (componenta y a poziției în Object Space) în Vertex Shader. Tot în Vertex Shader se vor atribui și culori diferite vertecșilor pentru a obține un efect de textură, iar input-urile de culoare ale vertex shader-ului vor fi ignorate. | + | Pentru a-i oferi terenului o formă și o aparență plăcută, în timpul randării, se va modifica înălțimea vertecșilor acestuia (componenta y a poziției în Object Space) în Vertex Shader. În Fragment Shader se vor atribui și culori diferite vertecșilor pentru a obține un efect de textură. |
O modalitate simplă pentru a face această modificare a înălțimilor este folosirea de noise: [[https://thebookofshaders.com/11/]] . | O modalitate simplă pentru a face această modificare a înălțimilor este folosirea de noise: [[https://thebookofshaders.com/11/]] . | ||
Line 81: | Line 81: | ||
Noise-ul returnează o valoare cuprinsă între 0 și 1 (sau între -1 și 1 în funcție de implementare), valoare care poate fi folosită pentru a modifica înălțimea vertexului. | Noise-ul returnează o valoare cuprinsă între 0 și 1 (sau între -1 și 1 în funcție de implementare), valoare care poate fi folosită pentru a modifica înălțimea vertexului. | ||
- | Această valoare poate fi folosită și pentru alegerea culorii unui vertex, tot în cadrul Vertex Shader-ului, astfel: | + | Această valoare poate fi folosită și pentru alegerea culorii unui fragment. |
<code> | <code> |