This shows you the differences between two versions of the page.
|
egc:laboratoare:09 [2020/12/15 02:15] bogdan.teaca [Utilizarea texturii] |
egc:laboratoare:09 [2021/11/12 19:22] (current) victor.asavei [Cerinte laborator] |
||
|---|---|---|---|
| Line 127: | Line 127: | ||
| {{ egc:laboratoare:lab9texturephoto5.png |}} | {{ egc:laboratoare:lab9texturephoto5.png |}} | ||
| - | Elementele individuale ale unui vec4 pot fi accesate utilizand numele componentelor:\\ | + | Elementele individuale ale unui ''vec4'' pot fi accesate utilizand numele componentelor:\\ |
| - | - Pentru date geometrice: x, y, z, w\\ | + | - Pentru date geometrice: ''x, y, z, w''\\ |
| - | - Pentru date legate de culori (red, green, blue, alpha): r, g, b, a\\ | + | - Pentru date legate de culori (red, green, blue, alpha): ''r, g, b, a''\\ |
| - | - Pentru date de texturare: s, t, p, q\\ | + | - Pentru date de texturare: ''s, t, p, q''\\ |
| Pentru a omite desenarea fragmentelor care nu sunt vizibile se foloseste directiva de shader ''discard''. | Pentru a omite desenarea fragmentelor care nu sunt vizibile se foloseste directiva de shader ''discard''. | ||
| Line 216: | Line 216: | ||
| * Ex: Faceti alpha discard daca valoarea ''alpha'' este mai mica de 0.5f | * Ex: Faceti alpha discard daca valoarea ''alpha'' este mai mica de 0.5f | ||
| - Creati si incarcati pe GPU o textura random | - Creati si incarcati pe GPU o textura random | ||
| - | * completati functia ''Laborator9::CreateRandomTexture'' | + | * completati functia ''Lab9::CreateRandomTexture'' |
| * ! generati mipmaps : ''glGenerateMipmap(GL_TEXTURE_2D);'' | * ! generati mipmaps : ''glGenerateMipmap(GL_TEXTURE_2D);'' | ||
| * textura va fi folosita in cadrul randarii pe cubul din stanga | * textura va fi folosita in cadrul randarii pe cubul din stanga | ||
| Line 236: | Line 236: | ||
| Bonus: | Bonus: | ||
| - | - Sa se trimita timpul aplicatiei ''Engine::GetElapsedTime()'' catre fragment shader si sa se utilizeze pentru a cicla prin textura de pe globul pamantesc (pe coordonata OY) (doar pentru acel obiect, deci e nevoie de si de o variabila uniform pentru a testa obiectul randat) | + | - Sa se trimita timpul aplicatiei ''Engine::GetElapsedTime()'' catre fragment shader si sa se utilizeze pentru a cicla prin textura de pe globul pamantesc (pe coordonata OX) (doar pentru acel obiect, deci e nevoie de si de o variabila uniform pentru a testa obiectul randat) |
| - Sa se roteasca spre directia camerei (doar pe OY) quadul cu textura de iarba astfel incat sa fie orientat tot timpul catre camera. <hidden>Sa se randeze inca de 2 ori aceasi textura in aceasi pozitie dar cu o rotatie (fata de cea pricipala) de +- 30 grade. | - Sa se roteasca spre directia camerei (doar pe OY) quadul cu textura de iarba astfel incat sa fie orientat tot timpul catre camera. <hidden>Sa se randeze inca de 2 ori aceasi textura in aceasi pozitie dar cu o rotatie (fata de cea pricipala) de +- 30 grade. | ||
| </hidden> | </hidden> | ||