Differences

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

Link to this comparison view

pgapi:laboratoare:01 [2025/09/29 18:12]
andrei.lambru
pgapi:laboratoare:01 [2025/09/29 18:20] (current)
andrei.lambru
Line 1: Line 1:
 ====== Laboratorul 01 ====== ====== Laboratorul 01 ======
  
 +<​hidden>​
 ===== Framework laborator ===== ===== Framework laborator =====
 Framework-ul de laborator este cel de la EGC, îmbogățit cu noi funcționalități. Pentru cei care doresc, conținutul laboratoarelor de EGC se poate găsi în [[:​pgapi:​recapitulare]]. Framework-ul de laborator este cel de la EGC, îmbogățit cu noi funcționalități. Pentru cei care doresc, conținutul laboratoarelor de EGC se poate găsi în [[:​pgapi:​recapitulare]].
Line 6: Line 7:
 Framework-ul de laborator se găsește pe [[https://​github.com/​UPB-Graphics/​gfx-framework | Github]] \\  Framework-ul de laborator se găsește pe [[https://​github.com/​UPB-Graphics/​gfx-framework | Github]] \\ 
 Puteți să descărcați direct arhiva accesând [[https://​github.com/​UPB-Graphics/​gfx-framework/​archive/​refs/​heads/​master.zip | acest link ]] Puteți să descărcați direct arhiva accesând [[https://​github.com/​UPB-Graphics/​gfx-framework/​archive/​refs/​heads/​master.zip | acest link ]]
 +</​hidden>​
  
 ===== Obiecte de tip framebuffer și umbre ===== ===== Obiecte de tip framebuffer și umbre =====
Line 11: Line 13:
 ==== Introducere ==== ==== Introducere ====
    
-În acest laborator, vom introduce atât elemente noi de OpenGL, cât și o abordare pentru calcularea umbrelor realizate de iluminarea unei surse de lumină de tip spot. Metoda prezentată aici se numeste ​//metoda mapării umbrelor//, întâlnită în engleză sub numele de //shadow mapping//, ce a fost prezentată în cadrul cursului de EGC din anul III. Va recomandăm să revizualizați secțiunea despre [[:​pgapi:​recapitulare#​introducere1 | texturi]] din pagina de [[:​pgapi:​recapitulare]]. Această recomandare reapare mai jos în pagină, acolo unde noțiunile de la EGC sunt explicit necesare.+În acest laborator, vom introduce atât elemente noi de OpenGL, cât și o abordare pentru calcularea umbrelor realizate de iluminarea unei surse de lumină de tip spot. Metoda prezentată aici se numește ​//metoda mapării umbrelor//, întâlnită în limba engleză sub numele de //shadow mapping//, ce a fost prezentată în cadrul cursului de EGC din anul III. Vă recomandăm să revizualizați secțiunea despre [[:​pgapi:​recapitulare#​introducere1 | texturi]] din pagina de [[:​pgapi:​recapitulare]]. Această recomandare reapare mai jos în pagină, acolo unde noțiunile de la EGC sunt explicit necesare.
  
 Prima parte a laboratorului se concentrează doar pe descrierea obiectelor de tip framebuffer. Partea a doua reia sumar metoda mapării umbrelor și oferă mai multe detalii doar despre pașii tehnicii, ce țin de utilizarea obiectelor de tip framebuffer. Prima parte a laboratorului se concentrează doar pe descrierea obiectelor de tip framebuffer. Partea a doua reia sumar metoda mapării umbrelor și oferă mai multe detalii doar despre pașii tehnicii, ce țin de utilizarea obiectelor de tip framebuffer.
Line 17: Line 19:
 ==== Obiecte de tip framebuffer ==== ==== Obiecte de tip framebuffer ====
  
-Redarea scenei în fereastra de desenare se realizează,​ de fapt prin redarea scenei într-o textură specială, ce este afișată ulterior în fereastră. API-ul grafic OpenGL nu permite desenarea direct într-o textură, ci impune utilizarea unui obiect suplimentar,​ numit buffer de cadru sau framebuffer. Acest obiect conține: +Redarea scenei în fereastra de desenare se realizează,​ de faptprin redarea scenei într-o textură specială, ce este afișată ulterior în fereastră. API-ul grafic OpenGL nu permite desenarea direct într-o textură, ci impune utilizarea unui obiect suplimentar,​ numit buffer de cadru sau framebuffer. Acest obiect conține: 
-  * **Texturile cu format de culoare în care se redă scena**. Pot să fie mai multe texturi pe care se desenează, până la un număr limită dat de procesorul grafic, care este în general 8. În laboratorul ​o să vedem aplicații pentru care este necesară desenarea în mai multe texturi. Putem să ne gândim la o textură ca la o structură de date în care păstrăm informație oarecare, nu doar culoare. De exemplu: putem păstra poziția în spațiul lume a fragmentului,​ obținută prin interpolare între vârfuri, sau vectorul normal în spațiul lume al fragmentului,​ obținut prin același proces de interpolare. +  * **Texturile cu format de culoare în care se redă scena**. Pot să fie mai multe texturi pe care se desenează, până la un număr limită dat de procesorul grafic, care este în general 8. În laboratorul ​următor ​o să vedem aplicații pentru care este necesară desenarea în mai multe texturi. Putem să ne gândim la o textură ca la o structură de date în care păstrăm informație oarecare, nu doar culoare. De exemplu: putem păstra poziția în spațiul lume a fragmentului,​ obținută prin interpolare între vârfuri, sau vectorul normal în spațiul lume al fragmentului,​ obținut prin același proces de interpolare. 
-  * **Textura în care se păstrează informația de adâncime** a fragmentelor desenate în texturile cu format de culoare. Această informație este utilizată în pasul de test de adâncime ​din procesul de rasterizare.+  * **Textura în care se păstrează informația de adâncime** a fragmentelor desenate în texturile cu format de culoare. Această informație este utilizată în pasul din procesul de rasterizare ​în care se realizează de testul de adâncime.
  
 === Crearea obiectelor de tip framebuffer === === Crearea obiectelor de tip framebuffer ===
pgapi/laboratoare/01.1759158763.txt.gz · Last modified: 2025/09/29 18:12 by andrei.lambru
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