Differences

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

Link to this comparison view

egc:laboratoare:fr:02 [2019/10/09 17:42]
alexandru.gradinaru
egc:laboratoare:fr:02 [2019/10/10 05:09] (current)
alexandru.gradinaru [Vertex Buffer Object (VBO)]
Line 88: Line 88:
 ==== Vertex Buffer Object (VBO) ==== ==== Vertex Buffer Object (VBO) ====
  
-Un vertex buffer object (objet tampon de sommet) représente un conteneur dans lequel nous stockons des données liées au contenu des astuces, telles que:+Un vertex buffer object (objet tampon de sommet) représente un conteneur dans lequel nous stockons des données liées au contenu des sommets, telles que:
   * position   * position
   * normal   * normal
Line 170: Line 170:
 Avant la commande de dessin, il suffit de lier uniquement le VAO pour qu'​OpenGL connaisse toutes les liaisons créées lors de la construction de l'​objet. Avant la commande de dessin, il suffit de lier uniquement le VAO pour qu'​OpenGL connaisse toutes les liaisons créées lors de la construction de l'​objet.
  
-===== Laborator ​2 =====+===== Laboratoire ​2 =====
  
-==== Descriere laborator ​====+==== Description du laboratoire ​====
  
-În cadrul laboratorului vom învăța să folosim ​**VAO, VBO, IBO** și astfel să generăm și încărcăm geometrie simplă.\\  +En laboratoire,​ nous allons apprendre à utiliser ​**VAO, VBO, IBO** et ainsi nous générons et chargeons une géométrie simple.\\  
-Laboratorul pune la dispoziție structura ​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​blob/​master/​Source/​Core/​GPU/​Mesh.h#​L14|VertexFormat]] ​ce va fi utilizată ca bază pentru a crea geometria.+Le laboratoire fournit ​la structure ​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​blob/​master/​Source/​Core/​GPU/​Mesh.h#​L14|VertexFormat]] ​qui servira de base à la création de la géométrie.
  
 <code cpp> <code cpp>
Line 195: Line 195:
 </​code>​ </​code>​
  
-Clasa ''​Mesh'' ​pune la dispoziție posibilitatea ​de a încărca geometrie simplă folosind diverse metode:+La classe ​''​Mesh'' ​offre la possibilité ​de télécharger une géométrie simple en utilisant diverses méthodes:
 <code cpp> <code cpp>
  
-// Initializes the mesh object using a VAO GPU buffer that contains the specified number of indices+// Initialise l'​objet maillé à l'aide d'un tampon ​VAO GPU contenant le nombre spécifié d'​index.
 bool InitFromBuffer(unsigned int VAO, unsigned short nrIndices); bool InitFromBuffer(unsigned int VAO, unsigned short nrIndices);
  
-// Initializes the mesh object and upload data to GPU using the provided data buffers+// Initialise l'​objet maillé et télécharge les données sur les GPU à l'aide des tampons de données fournis.
 bool InitFromData(std::​vector<​VertexFormat>​ vertices, bool InitFromData(std::​vector<​VertexFormat>​ vertices,
  std::​vector<​unsigned short>&​ indices);  std::​vector<​unsigned short>&​ indices);
  
-// Initializes the mesh object and upload data to GPU using the provided data buffers+// Initialise l'​objet maillé et télécharge les données sur les GPU à l'aide des tampons de données fournis.
 bool InitFromData(std::​vector<​glm::​vec3>&​ positions, bool InitFromData(std::​vector<​glm::​vec3>&​ positions,
  std::​vector<​glm::​vec3>&​ normals,  std::​vector<​glm::​vec3>&​ normals,
Line 211: Line 211:
 </​code>​ </​code>​
 <note tip> <note tip>
-Taste de control pentru cameră +Touches ​de contrôle pour la camerá 
-  * **W, A, S, D, Q, E** - deplasare fațăstângaspatedreaptajossus +  * **W, A, S, D, Q, E** - avantgauchearrièredroitebashaut 
-  * **MOUSE RIGHT + MOUSE MOVE** - rotație cameră+  * **MOUSE RIGHT + MOUSE MOVE** - rotation de la camerá
  
-**F3** - afișează/ascunde gridul din scenă ​\\  +**F3** - affiche ​masque la grille dans la scène ​\\  
-**Space** - desenează primitivele doar prin **puncte** sau **linii** (wireframe) ​sau **geometrie opacă**+**Space** - dessiner des primitives uniquement par **points** ou **lignes** (wireframe) ​ou **géométrie opaque**
  
 </​note>​ </​note>​
  
-==== Cerințe laborator ​====+==== Tâches de laboratoire ​====
  
 <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.+Toutes les tâches ​de chargement ​de géométrie doivent être résolues par la fonction ​''​Laborator2::​CreateMesh'' ​mais vous pouvez utiliser les méthodes ​''​Mesh::​InitFromData()'' ​pour vérifier la validité de la géométrie.
 </​note>​ </​note>​
  
-  - Descărcați ​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​archive/​master.zip|framework-ul ​de laborator]] +  - Télécharger ​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​archive/​master.zip|le cadre de laboratoire]] 
-  - Completați geometria și topologia unui cubvectorii ​de vertecși și indecși din inițializare. ''​VertexFormat'' ​este o structură pentru vertex cu parametrii ​(pozițieculoare). +  - Complétez la géométrie et la topologie d'un cubeles sommets et les vecteurs d'​index ​de l'​initialisation. ''​VertexFormat'' ​est une structure de sommet avec paramètres ​(positioncouleur). 
-  - Completați funcția ​''​Laborator2::​CreateMesh'' ​astfel încât să încărcați geometria pe GPU +  - Compléter la fonction ​''​Laborator2::​CreateMesh'' ​afin que vous puissiez charger la géométrie sur le GPU 
-    * creați ​un VAO +    * créer ​un VAO 
-    * creați ​un VBO și adăugați date în el +    * créer ​un VBO et y ajouter des données 
-    * creați ​un IBO și adăugați date în el +    * créer ​un IBO et y ajouter des données 
-    * afișați noul obiect ​(RenderMesh[cube3]) ​astfel încât să nu se suprapună cu un alt obiect +    * afficher le nouvel objet (RenderMesh[cube3]) ​afin qu'il ne chevauche pas un autre objet 
-  - Creați o nouă formă geometrică simplăde exemplu ​un tetraedru și desenați-l în scenă +  - Créez une nouvelle forme géométrique simpletelle qu'un tétraèdre,​ et dessinez-la dans la scène. 
-  - Atunci când se apasă tasta **F2** ​faceți toggle între modul de culling ​**GL_BACK** ​și **GL_FRONT** +  - Lorsque la touche ​**F2** ​est enfoncée basculer entre le mode de sélection ​**GL_BACK** ​et **GL_FRONT** 
-    * nu uitați să activați și să dezactivați face culling folosind ​''​glEnable()''​ / ''​glDisable()''​ +    * n'​oubliez pas d'​activer et de désactiver l'​utilisation de la sélection ​''​glEnable()''​ / ''​glDisable()''​ 
-  - Creați ​un pătrat format din triunghiuri astfel încât fiecare triunghi să fie vizibil doar dintr-o parte +  - Créez ​un carré composé de triangles de manière à ce que chaque triangle ne soit visible que d'un côté 
-    * în orice moment ​de timp nu trebuie să se vadă decât 1 triunghi+    * A tout moment, il ne faut voir qu'un seul triangle
  
 <​hidden>​ <​hidden>​
egc/laboratoare/fr/02.1570632146.txt.gz · Last modified: 2019/10/09 17:42 by alexandru.gradinaru
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