Differences

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

Link to this comparison view

ppbg:laboratoare:05 [2024/10/02 09:57]
andrei.lambru
ppbg:laboratoare:05 [2024/11/07 09:58] (current)
andrei.lambru
Line 59: Line 59:
  
 Interacțiunea utilizatorului cu tastele, în situația în care fereastra este selectată, este de 3 feluri: Interacțiunea utilizatorului cu tastele, în situația în care fereastra este selectată, este de 3 feluri:
-  - Apăsarea unei taste pentru prima data în cadrul curent, cunoscută în limba engleză sub numele de **key press**.+  - Apăsarea unei taste pentru prima dată în cadrul curent, cunoscută în limba engleză sub numele de **key press**.
   - Neapăsarea unei taste la cadrul curent, în situația în care tasta a fost apăsată la cadrul anterior, cunoscută în limba engleză sub numele de **key release**.   - Neapăsarea unei taste la cadrul curent, în situația în care tasta a fost apăsată la cadrul anterior, cunoscută în limba engleză sub numele de **key release**.
   - Apăsarea unei taste la cadrul curent, indiferent când a fost apasată prima dată, cunoscută în limba engleză sub numele de **key hold**.   - Apăsarea unei taste la cadrul curent, indiferent când a fost apasată prima dată, cunoscută în limba engleză sub numele de **key hold**.
Line 76: Line 76:
 </​code>​ </​code>​
  
-Metoda ''​OnKeyPress''​ se apelează pentru fiecare tastă apăsata într-un cadru. Trebuie verificat în interiorul metodei, pe baza parametrilor,​ ce tastă a fost apasată. Pentru mai multe informații despre fiecare metodă în parte, vă rog să citiți detaliile din [[https://​github.com/​UPB-Graphics/​gfx-framework-ppbg/​blob/​master/​src/​core/​window/​input_controller.h | fișierul header al clasei InputController]].+Metoda ''​OnKeyPress''​ se apelează pentru fiecare tastă apăsată într-un cadru. Trebuie verificat în interiorul metodei, pe baza parametrilor,​ ce tastă a fost apasată. Pentru mai multe informații despre fiecare metodă în parte, vă rog să citiți detaliile din [[https://​github.com/​UPB-Graphics/​gfx-framework-ppbg/​blob/​master/​src/​core/​window/​input_controller.h | fișierul header al clasei InputController]].
  
 <note tip> <note tip>
Line 113: Line 113:
 ===== API-ul grafic OpenGL ===== ===== API-ul grafic OpenGL =====
  
-O aplicație grafică în timp real utilizeaza ​procesorul grafic pentru a accelera desenarea unui cadru și a obține o frecvență mare de desenare a cadrelor. Deoarece procesoarele grafice prezintă diferențe mari unele față de celelalte, pentru a se evita implementarea desenării specific pentru fiecare tip de procesor grafic, au fost introduse mai multe standarde de programare a procesorului. Aceste standarde sunt implementate în interiorul driver-ului video. O privire de ansamblu a comunicării între o aplicație grafică în timp real și procesorul grafic este prezentată în imaginea de mai jos. Aceste standarde poartă numele de API-uri grafice și pentru a enumera doar cateva: OpenGL, Direct3D sau Metal.+O aplicație grafică în timp real utilizează ​procesorul grafic pentru a accelera desenarea unui cadru și a obține o frecvență mare de desenare a cadrelor. Deoarece procesoarele grafice prezintă diferențe mari unele față de celelalte, pentru a se evita implementarea desenării specific pentru fiecare tip de procesor grafic, au fost introduse mai multe standarde de programare a procesorului. Aceste standarde sunt implementate în interiorul driver-ului video. O privire de ansamblu a comunicării între o aplicație grafică în timp real și procesorul grafic este prezentată în imaginea de mai jos. Aceste standarde poartă numele de API-uri grafice și pentru a enumera doar cateva: OpenGL, Direct3D sau Metal.
  
 {{ :​ppbg:​laboratoare:​graphicsapi.png?​500 |}} {{ :​ppbg:​laboratoare:​graphicsapi.png?​500 |}}
Line 268: Line 268:
 </​note>​ </​note>​
  
-  - 0.05p - Completați metoda ''​CreateMesh()''​ astfel încât să încărcați geometria ​in memoria RAM a procesorului grafic. +  - 0.05p - Completați metoda ''​CreateMesh()''​ astfel încât să încărcați geometria ​în memoria RAM a procesorului grafic. 
-    * Creați un VAO +    * Creați un VAO; 
-    * Creați un VBO și adăugați date în el +    * Creați un VBO și adăugați date în el; 
-    * Creați un IBO și adăugați date în el+    * Creați un IBO și adăugați date în el;
     * După completarea corectă a metodei, rezultatul vizual ar trebui să fie următorul: {{ :​ppbg:​laboratoare:​result1.png?​600 |}}     * După completarea corectă a metodei, rezultatul vizual ar trebui să fie următorul: {{ :​ppbg:​laboratoare:​result1.png?​600 |}}
   - 0.05p - La apăsarea unei taste, alegeți o culoare aleatorie pentru curățarea grilei de pixeli.   - 0.05p - La apăsarea unei taste, alegeți o culoare aleatorie pentru curățarea grilei de pixeli.
ppbg/laboratoare/05.1727852248.txt.gz · Last modified: 2024/10/02 09:57 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