Differences

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

Link to this comparison view

egc:laboratoare:09 [2020/12/14 22:12]
florin_eugen.iancu [Utilizarea texturii]
egc:laboratoare:09 [2021/11/12 19:22] (current)
victor.asavei [Cerinte laborator]
Line 74: Line 74:
   * Ultimul argument il reprezinta vectorul de date al imaginii. ​   * Ultimul argument il reprezinta vectorul de date al imaginii. ​
  
-Asadar''​glTextImage2D''​ incarca o imagine definita prin __datele efective__, adica un array de ''​unsigned char''​s,​ pe __obiectul de tip textura__ legat la __punctul de legare__ ''​GL_TEXTURE_2D''​ al __unitatii de texturare__ active la momentul curent, nivelul 0 (o sa luam aceasta constanta ca atare pentru moment), cu formatul intern ''​GL_RGB''​ cu lungimea width si cu inaltimea height, din formatul ''​GL_RGB''​. Datele citite sunt de tip ''​GL_UNSIGNED_BYTE''​ (adica ''​unsigned char''​) si sunt citite de la adresa data.+**Asadar:** ''​glTextImage2D''​ incarca o imagine definita prin __datele efective__, adica un array de ''​unsigned char''​s,​ pe __obiectul de tip textura__ legat la __punctul de legare__ ''​GL_TEXTURE_2D''​ al __unitatii de texturare__ active la momentul curent, nivelul 0 (o sa luam aceasta constanta ca atare pentru moment), cu formatul intern ''​GL_RGB''​ cu lungimea width si cu inaltimea height, din formatul ''​GL_RGB''​. Datele citite sunt de tip ''​GL_UNSIGNED_BYTE''​ (adica ''​unsigned char''​) si sunt citite de la adresa data
 + 
 +Pentru a va cimenta si mai mult aceste notiuni, gasiti detalii si exemple suplimentare **[[https://​stackoverflow.com/​a/​8887844|in aceasta postare]]**.
  
 ==== Utilizarea texturii ==== ==== Utilizarea texturii ====
Line 124: Line 126:
  
  {{ egc:​laboratoare:​lab9texturephoto5.png |}}  {{ egc:​laboratoare:​lab9texturephoto5.png |}}
 +
 +Elementele individuale ale unui ''​vec4''​ pot fi accesate utilizand numele componentelor:​\\
 +- Pentru date geometrice: ''​x,​ y, z, w''​\\
 +- Pentru date legate de culori (red, green, blue, alpha): ''​r,​ g, b, a''​\\
 +- 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 209: 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 229: 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>​
egc/laboratoare/09.1607976743.txt.gz · Last modified: 2020/12/14 22:12 by florin_eugen.iancu
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