Differences

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

Link to this comparison view

egc:laboratoare:02 [2021/10/18 13:29]
robert.caragicu [Laborator 2] corectat parametrii pentru functia InitFromData
egc:laboratoare:02 [2023/10/18 19:11] (current)
mihnea.mitrache [Face Culling]
Line 90: Line 90:
 glCullFace(GL_BACK);​ glCullFace(GL_BACK);​
 </​code>​ </​code>​
 +
 +<​note>​ În concluzie, atunci când ne propunem să definim geometria unui 
 +obiect este foarte importantă ordinea specificării indicilor.
 +</​note>​
 +
 +<note tip> Pentru o definire corectă se pot urma pașii:
 +  - Ne fixăm privirea pe o anumită axa.
 +  - Identificăm fețele vizibile și cele nevizibile.
 +  - Triunghiurile care alcătuiesc fețele vizibile se specifică în ordine trigonometrică iar cele nevizibile în ordinea inversă.
 +</​note>​
 +
 +{{ :​egc:​laboratoare:​lab02:​cull_face.png?​750 |}}
 +
 +<note warning>​Dacă vă întrebați de ce după ce ați activat CULL_FACE obiectele voastre nu arată ​
 +corect, cel mai probabil ați fost inconsecvenți în ceea ce privește ordinea de specificare a 
 +indicilor.
 +</​note>​
  
 ===== Meshe ===== ===== Meshe =====
Line 138: Line 155:
  
 <note tip> <note tip>
-Pentru a înțelege mai bine API-ul OpenGL vă rocomandăm să citiți documentația indicată pentru fiecare comandă prezentată. Atunci când se prezintă o nouă comandă, dacă apăsați click pe numele acesteia veți fi redirecționați către pagina de manual a comenzii respective.\\ ​+Pentru a înțelege mai bine API-ul OpenGL vă recomandăm să citiți documentația indicată pentru fiecare comandă prezentată. Atunci când se prezintă o nouă comandă, dacă apăsați click pe numele acesteia veți fi redirecționați către pagina de manual a comenzii respective.\\ ​
 De asemenea, documentația oficială și completă a API-ului OpenGL poate fi gasită pe pagina **[[https://​www.opengl.org/​sdk/​docs/​man/​|OpenGL 4 Reference Pages]]** ​ De asemenea, documentația oficială și completă a API-ului OpenGL poate fi gasită pe pagina **[[https://​www.opengl.org/​sdk/​docs/​man/​|OpenGL 4 Reference Pages]]** ​
 </​note>​ </​note>​
Line 233: Line 250:
  
 <note important>​ <note important>​
-Toate cerințele ce țin de încărcare de geometrie trebuie rezolvate prin intermediul funcției ''​Laborator2::​CreateMesh''​ dar puteți folosi metodele ''​Mesh::​InitFromData()''​ pentru a verifica validitatea geometriei.+Toate cerințele ce țin de încărcare de geometrie trebuie rezolvate prin intermediul funcției ''​Lab2::​CreateMesh''​ dar puteți folosi metodele ''​Mesh::​InitFromData()''​ pentru a verifica validitatea geometriei.
 </​note>​ </​note>​
  
   - Descărcați [[https://​github.com/​UPB-Graphics/​gfx-framework/​archive/​master.zip|framework-ul de laborator]]   - Descărcați [[https://​github.com/​UPB-Graphics/​gfx-framework/​archive/​master.zip|framework-ul de laborator]]
   - Completați geometria și topologia unui cub: vectorii de vertecși și indecși din inițializare. ''​VertexFormat''​ este o structură pentru vertex cu 2 parametrii (poziție, culoare).   - Completați geometria și topologia unui cub: vectorii de vertecși și indecși din inițializare. ''​VertexFormat''​ este o structură pentru vertex cu 2 parametrii (poziție, culoare).
-  - Completați funcția ''​Laborator2::​CreateMesh''​ astfel încât să încărcați geometria pe GPU+  - Completați funcția ''​Lab2::​CreateMesh''​ astfel încât să încărcați geometria pe GPU
     * 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
-    * afișați noul obiect (RenderMesh[cube3]) astfel încât să nu se suprapună cu un alt obiect+    * afișați noul obiect (RenderMesh[cube_B]) astfel încât să nu se suprapună cu un alt obiect
   - Creați o nouă formă geometrică simplă, de exemplu un tetraedru și desenați-l în scenă   - Creați o nouă formă geometrică simplă, de exemplu un tetraedru și desenați-l în scenă
   - Atunci când se apasă tasta **F2** faceți toggle între modul de culling **GL_BACK** și **GL_FRONT**   - Atunci când se apasă tasta **F2** faceți toggle între modul de culling **GL_BACK** și **GL_FRONT**
egc/laboratoare/02.1634552981.txt.gz · Last modified: 2021/10/18 13:29 by robert.caragicu
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