Differences

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

Link to this comparison view

egc:laboratoare:fr:01 [2019/10/03 04:06]
alexandru.gradinaru
egc:laboratoare:fr:01 [2019/10/03 06:46] (current)
alexandru.gradinaru
Line 129: Line 129:
   * n'​offre pas la possibilité de gérer des combinaisons de touches (Exemple: l'​utilisateur appuie sur W et A pour déplacer le caractère en diagonale)   * n'​offre pas la possibilité de gérer des combinaisons de touches (Exemple: l'​utilisateur appuie sur W et A pour déplacer le caractère en diagonale)
   * ne fournit pas d'​informations concernant l'​état continu d'un événement   * ne fournit pas d'​informations concernant l'​état continu d'un événement
-    * ** Exemple **: un personnage dans une partie doit avancer tant que l'​utilisateur appuie sur la touche ** W **. +    ​* ** Exemple **: un personnage dans une partie doit avancer tant que l'​utilisateur appuie sur la touche ** W **. 
-      * Pour gérer correctement cette logique, il est nécessaire de conserver le statut de la touche ** W **. Lorsque le caractère est déplacé, il est directement proportionnel au temps écoulé depuis le dernier traitement de la trame. +    * Pour gérer correctement cette logique, il est nécessaire de conserver le statut de la touche ** W **. Lorsque le caractère est déplacé, il est directement proportionnel au temps écoulé depuis le dernier traitement de la trame. 
-      * La même chose s'​applique aux boutons de la souris+    * La même chose s'​applique aux boutons de la souris
  
 En outre, un modèle de mise en mémoire tampon des événements d'​entrée permet d'​interroger le statut des entrées à tout moment d'une image. Il offre donc une plus grande flexibilité globale pour la mise en œuvre de nouveaux comportements / logiques. La classe ''​ WindowObject ''​ prend en charge la mise en mémoire tampon, mais également le traitement ultérieur d'​événements à travers des objets de type ''​ InputController ''​. En outre, un modèle de mise en mémoire tampon des événements d'​entrée permet d'​interroger le statut des entrées à tout moment d'une image. Il offre donc une plus grande flexibilité globale pour la mise en œuvre de nouveaux comportements / logiques. La classe ''​ WindowObject ''​ prend en charge la mise en mémoire tampon, mais également le traitement ultérieur d'​événements à travers des objets de type ''​ InputController ''​.
Line 140: Line 140:
  
 ===Multi-buffering=== ===Multi-buffering===
-În generalaplicațiile grafice folosesc mai multe buffere de imagini separate pentru a evita apariția artefactelor grafice prin modificarea directă a imaginii randate pe ecranAstfelimaginea afișată la momentul ​''​T''​ a fost procesată la momentul ​''​T-1''​, sau ''​T-2''​ (în funcție ​de dimensiunea bufferului).\\  +En généralles applications graphiques utilisent plusieurs tampons d'​image pour éviter l'​apparition d'​artefacts graphiques en modifiant directement l'​image affichée à l'​écranAinsil'​image affichée à l'​heure ​''​ T ''​ a été traitée à l'​heure ​''​ T-1 '' ​ou ''​ T-2 ''​ (en fonction ​de la taille du tampon). 
-Informații adiționale despre această tehnică multi-buffering pot fi obțiunute ​de pe wiki:+Des informations supplémentaires sur cette technique ​de mise en mémoire tampon multiple peuvent être obtenues à partir du wiki:
   * https://​en.wikipedia.org/​wiki/​Multiple_buffering   * https://​en.wikipedia.org/​wiki/​Multiple_buffering
   * https://​en.wikipedia.org/​wiki/​Multiple_buffering#​Double_buffering_in_computer_graphics   * https://​en.wikipedia.org/​wiki/​Multiple_buffering#​Double_buffering_in_computer_graphics
   * https://​en.wikipedia.org/​wiki/​Multiple_buffering#​Triple_buffering   * https://​en.wikipedia.org/​wiki/​Multiple_buffering#​Triple_buffering
  
-==== Modelul ​de funcționare al aplicației ​de laborator ​====+==== Le modèle ​de fonctionnement ​de l'​application de laboratoire ​====
  
-În cadrul unui laborator modelul aplicației grafice prezentat mai sus este implementat de către clasa ''​World''​.\\  +Dans lelaboratoire,​ le modèle d'​application graphique présenté ci-dessus est mis en oeuvre par la classe ​''​ World''​. 
-Pasul este tratat ​de către instanțele ​InputController ​în timp ce pasul este asigurat de funcțiile ​''​FrameStart()'',​ ''​Update(float deltaTime)''​, și ''​FrameEnd()'' ​moștenite ​de la clasa ''​World''​. ​Clasa ''​World'' ​extinde deja ''​InputController'' ​pentru a ușura munca în cadrul laboratorului.\\  +L'​étape ​est gérée par les instances ​de InputController, tandis que l'​étape ​est fournie par les variables ​''​ FrameStart () '',​ ''​ Update (float deltaTime) '' ​et ''​ FrameEnd () '' ​héritées ​de la classe ​''​ World ''​. ​La classe ​''​ World'' ​étend déjà ​''​ InputController '' ​pour faciliter le travail en laboratoire.\\ 
-Toate laboratoarele EGC vor fi implementate pe baza ''​SimpleScene''​ ce oferă următoarele facilități+Tous les laboratoires seront mis en œuvre sur la base de "SimpleScene" qui offre les fonctionnalités suivantes
-  * scena 3D cu randarea unui sistem cartezian ​de referință în coordonate ​OpenGL +  * Scène ​3D avec rendu d'un système ​de référence cartésien en coordonnées ​OpenGL 
-    * plan orizontal ​XOZ +    * plan horizontal ​XOZ 
-    * evidențierea spațiului pozitiv ​(OX, OY, OZ) +    * en soulignant l'​espace positif ​(OX, OY, OZ) 
-  * camera predefinită pentru explorarea scenei +  * la caméra prédéfinie pour l'​exploration de la scène 
-  * shadere predefinite pentru lucrul în primele laboratoare +  * shaders prédéfinis pour le travail dans les premiers laboratoires 
-  * management pentru stocarea shaderelor și modelelor nou createpe baza unui nume unic+  * gestion du stockage des shader et modèles nouvellement créésbasés sur un nom unique
  
-=== Etapele rulării aplicației ​===+=== Étapes de l'​exécution de l'​application ​===
  
-  - Se definesc proprietățile pentru fereastra ​de lucru (''​Main.cpp''​) +  - Les propriétés ​de la fenêtre de travail sont définies ​(''​Main.cpp''​) 
-  - Se inițializează Engine-ul astfel ​- ''​Engine::​Init()''​ +  - Le moteur est donc initialisé ​- ''​Engine::​Init()''​ 
-    - Se inițializează ​API-ul OpenGL (''​glfwInit()''​) +    - L'API OpenGL ​est initialisée ​(''​glfwInit()''​) 
-    - Se creează fereastra ​de lucru cu un context ​OpenGL 3.3+ +    - La fenêtre ​de travail est créée avec un contexte ​OpenGL 3.3+ 
-      - Se atașează evenimentele ​de fereastră prin intermediul ​__WindowsCallbacks.cpp__ +      - Attacher des événements ​de fenêtre via __WindowsCallbacks.cpp__ 
-    - Se inițializează managerul ​de texturi +    - Le gestionnaire ​de texture est initialisé 
-  - Se creează și inițializează o nouă scenă 3D de lucru având ​la bază modelul ​de update prezentat anterior ​(__Main.cpp__) +  - Une nouvelle scène ​de travail 3D est créée et initialisée sur la base du modèle ​de mise à jour présenté ci-dessus. ​(__Main.cpp__) 
-  - Se pornește rularea scenei încărcate ​(''​LoopUpdate()''​)+  - La scène chargée commence à courir ​(''​LoopUpdate()''​)
  
    
-==== Standardul ​OpenGL ====+==== Le standard ​OpenGL ====
  
-OpenGL ​este un standard (API) pe care îl putem folosi pentru a crea aplicații grafice real-timeEste aproape identic cu Direct3D, ​ambele având o influență reciprocă de-a lungul anilor+OpenGL ​est un standard (API) que nous pouvons utiliser pour créer des applications graphiques en temps réelIl est presque identique à Direct3D, ​qui ont tous deux une influence mutuelle au fil des ans
-  * Mai multe informații despre istoricul ​OpenGL ​se pot găsi la adresa: https://​en.wikipedia.org/​wiki/​OpenGL +  * Plus d’informations sur l’histoire ​OpenGL ​sont disponibles sur: https://​en.wikipedia.org/​wiki/​OpenGL 
-  * Explicații complete prinvind ​API-ul OpenGL ​cât și utilizarea acestuia se pot găsi pe pagina oficială a standardului: https://​www.opengl.org/​sdk/​docs/​man/​ +  * Vous trouverez des explications complètes sur l’API OpenGL ​et son utilisation sur la page standard de la norme: https://​www.opengl.org/​sdk/​docs/​man/​ 
-<note tip>Atunci când nu sunteți siguri ce face o anumită comandă sau ce reprezintă paramaterii funcțiilor este recomandat să consultați documentația: https://​www.opengl.org/​sdk/​docs/​man/​+<note tip>Si vous ne savez pas quoi faire pour une commande particulière ou quels sont les paramètres de la fonction, il est conseillé de consulter la documentation: https://​www.opengl.org/​sdk/​docs/​man/​
 </​note>​ </​note>​
-Versiunea curentă a acestui standard este 4.6. Pentru cursul de EGC vom folosi standardul ​3.0/​3.3, ​care este în același timp și versiunea actuală pentru varianta pentru ​mobile ​OpenGL, ​numită ​OpenGL ES https://en.wikipedia.org/​wiki/​OpenGL_ES.\\  +La version actuelle de cette norme est la 4.6. Pour le cours EGC, nous utiliserons la norme 3.0 / 3.3, qui est en même temps la version actuelle de la version ​mobile ​d’OpenGL, ​appelée ​OpenGL ES https://fr.wikipedia.org/​wiki/​OpenGL_ES.
-\\  +
-Începând cu 2016 a fost lansat și API-ul Vulkan ce oferă access avansat low-level la capababilitățile grafice moderne ale procesoarelor grafice. Standardul Vulkan este orientat dezvoltării aplicațiilor de înaltă performanță iar complexitatea acestuia depășește cu mult aspectele de bază ce vor fi prezentate în cadrul cusului/​laboratorului. ​  +
  
-=== Utilizarea ​API ===+Depuis 2016, l'API Vulkan a été lancée. Elle offre un accès bas niveau avancé aux capacités graphiques modernes des processeurs graphiques. La norme Vulkan est orientée vers le développement d’applications hautes performances et sa complexité dépasse de loin les aspects fondamentaux qui seront présentés dans les points suivants: laboratoire / point de rebroussement.
  
-Pe parcursul laboratoarelor (dar și a cursului) se va trece prin toate etapele importante ce stau la baza redării grafice. Astfel vor fi învățate concepte precum: +=== Utiliser l'API ===
-  * încărcare și randare de obiecte 3D simple +
-  * funcționarea pipeline-ului grafic +
-  * vizualizare,​ proiecție, control camera +
-  * utilizare shadere (vertex și fragment shader) +
-  * iluminare +
-  * texturare+
  
-==== Cerințe generale ​de laborator ====+Pendant les travaux pratiques (mais également pendant le cours), vous passerez par toutes les étapes importantes qui sont à la base du rendu graphique. Cela enseignera des concepts tels que: 
 +  * chargement et rendu d'​objets 3D simples 
 +  * opération ​de pipeline graphique 
 +  * visualisation,​ projection, contrôle de la caméra 
 +  * utiliser des shaders (vertex et fragment shader) 
 +  * éclairage 
 +  * texture
  
-  * Citiți cu foarte mare atenție Framwork-ul de laborator întrucât îl veți utiliza pe tot parcursul laboratorului ​de EGC inclusiv și la temele de casă +==== Conditions générales ​de laboratoire ==== 
-  * Citiți comentariile din cod – ar trebui să răspundă la majoritatea întrebărilor pe care le aveți + 
-  * Citiți documentația de la [[ https://​github.com/​UPB-Graphics/​Framework-EGC/​blob/​master/​Source/​Core/​Window/​InputController.h | __InputController.h__]] ​întrucât veți utiliza constant funcțiile din cadrul acestei clase (prin suprascrierepentru definirea de interacțiuni și comportament personalizat +  * Lisez très attentivement le cadre du laboratoire,​ car vous l'​utiliserez tout au long du laboratoire ​EGC, y compris les devoirs. 
-  * Dacă nu ințelegeți modelul ​de funcționare al aplicației rugați asistentul să explice încă o dată cum funcționează toată aplicația+  * Lisez les commentaires dans le code - il devrait répondre à la plupart des questions que vous avez. 
 +  * Lisez la documentation sur [[https://​github.com/​UPB-Graphics/​Framework-EGC/​blob/​master/​Source/​Core/​Window/​InputController.h | __InputController.h__]] ​car vous utiliserez constamment les fonctions de cette classe ​(écrasementpour définir des interactions et un comportement personnalisé 
 +  * Si vous ne comprenez pas le modèle d'​exploitation ​de l'​application,​ demandez à l'​assistant d'​expliquer à nouveau comment fonctionne l'​application dans son ensemble.
  
 == C++ == == C++ ==
  
-Framework-ul este scris în limbajul ​C++, ce va fi utilizat pe tot parcursul laboratoarelor+Le framework est écrit en C ++, et sera utilisé dans tous les laboratoires
-Conceptele utilizate în cadrul laboratorului și care trebuie știute sunt+Les concepts utilisés en laboratoire et qui doivent être connus sont
-  * concepte ​de bază de OOP obiectemoșteniremetode virtuale, etc +  * concepts ​de base de la POO objetshéritageméthodes virtuelles, etc. 
-  * utilizarea ​standard ​librariesîn special ​[[http://​www.cplusplus.com/​reference/​vector/​vector/​ | std::​vector]],​ [[ http://​www.cplusplus.com/​reference/​list/​list/​ | std::list ]] și [[ http://​www.cplusplus.com/​reference/​unordered_map/​unordered_map/​ | std::​unorderd_map ]]+  * utiliser des bibliothèques ​standard: ​en particulier ​[[http://​www.cplusplus.com/​reference/​vector/​vector/​ | std::​vector]],​ [[ http://​www.cplusplus.com/​reference/​list/​list/​ | std::list ]] et [[ http://​www.cplusplus.com/​reference/​unordered_map/​unordered_map/​ | std::​unorderd_map ]]
    
 <note tip> <note tip>
-Pentru cei mai puțin familiarizați cu limbajul ​C++ recomandăm să parcurgeți tutoriale: [[http://​www.learncpp.com/​ | Learn C++ ]]+Pour ceux qui sont moins familiers avec C ++, nous vous recommandons de suivre des tutoriels: [[http://​www.learncpp.com/​ | Learn C++ ]]
 </​note>​ </​note>​
  
 == Visual Studio 2017 == == Visual Studio 2017 ==
-  * În cadrul laboratorului vom utiliza ​[[https://​visualstudio.microsoft.com/​vs/​older-downloads/​|Visual Studio 2017 Community Edition]] ​sau la alegere ​[[https://​www.visualstudio.com/​vs/​community/​|Visual Studio 2019 Community Edition]] (prin conversie ​de proiect+  * En laboratoire,​ nous utiliserons ​[[https://​visualstudio.microsoft.com/​vs/​older-downloads/​|Visual Studio 2017 Community Edition]] ​ou à votre choix [[https://​www.visualstudio.com/​vs/​community/​|Visual Studio 2019 Community Edition]] (par conversion ​de projet
-  * Installer-ul ​de Visual Studio ​vine cu posibilitatea ​de a instala modular doar ceea ce este necesarPentru acest laborator trebuie instalat doar modulul default ​**Desktop development with C++**, ​care se regăsește în **Workloads** +  * Le programme d’installation ​de Visual Studio ​offre la possibilité d’installer ​de manière modulaire uniquement les éléments requisPour cet atelier uniquement le module par défaut ​** Développement de bureau avec C ++ **, disponible dans ** Workloads ** 
-  * Framework-ul conține deja un proiect preconfigurat pentru ​Visual Studio 2017 __Framework_EGC.sln__ (folderul ​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​tree/​master/​Visual%20Studio| /Visual Studio]]) +  * Le framework contient déjà ​un projet préconfiguré pour Visual Studio 2017 __Framework_EGC.sln__ (dossier[[https://​github.com/​UPB-Graphics/​Framework-EGC/​tree/​master/​Visual%20Studio| /Visual Studio]]) 
-  * Deschideți soluția în Visual Studio 2017+  * Ouvrez la solution dans Visual Studio 2017
  
 <note tip> <note tip>
-Cei care nu au mai utilizat IDE-ul ​**Visual Studio** ​pentru scrierea de aplicații ​C++ sunt rugați să citească toturialul ​[[https://​msdn.microsoft.com/​en-us/​library/​jj620919.aspx#​BKMK_CreateApp | Getting Started with C++ in Visual Studio]]+Ceux qui n’ont pas utilisé ​**Visual Studio** ​pour écrire des applications ​C ++ sont invités à lire le fichier Toturial ​[[https://​msdn.microsoft.com/​en-us/​library/​jj620919.aspx#​BKMK_CreateApp | Getting Started with C++ in Visual Studio]]
 </​note>​ </​note>​
  
Line 222: Line 222:
 ==== GLM ==== ==== GLM ====
  
-În graficămatematica este folosită peste tot, de la simple matrici pentru rotații până la integrale infinit dimensionale pentru algoritmii folosiți în industria filmului, de aceea ne dorim să avem un suport de matematică robustbine documentat și nu în ultimul rând cât  mai apropiat ​de formatul ​OpenGL. ​În loc să scriem noi o librărie de matematică vom folosi librăria ​GLM. GLM ne oferă rotațiitranslațiivectori ​de dimensiune ​2/​3/​4, ​matrici și multe alte funcționalități avansate ​(e.g. modele ​de zgomot). Vom folosi doar cele mai simple funcționalități în laboratoarele ​de la această materie+Dans les graphiquesles mathématiques sont utilisées partoutdes simples matrices ​de rotation aux intégrales infiniment dimensionnelles des algorithmes utilisés dans l'​industrie cinématographique. C'est pourquoi nous souhaitons disposer d'un support mathématique robustebien documenté et aussi proche ​de Format ​OpenGL. ​Au lieu d'​écrire une bibliothèque mathématique,​ nous utiliserons la bibliothèque ​GLM. GLM nous fournit des rotationsdes translationsdes vecteurs ​de taille ​2/​3/​4, ​des matrices et de nombreuses autres fonctionnalités avancées ​(par exemple, des modèles ​de bruit). Nous n'​utiliserons que les fonctionnalités les plus simples dans les laboratoires ​de ce sujet.
  
 <code cpp> <code cpp>
Line 237: Line 237:
  
  
-==== Laboratorul ​1 ====+==== Laboratoire ​1 ====
  
 === Framework === === Framework ===
  
-Framework-ul ​de laborator se găsește pe [[https://​github.com/​UPB-Graphics/​Framework-EGC | Github]] \\  +Le cadre de laboratoire peut être trouvé sur [[https://​github.com/​UPB-Graphics/​Framework-EGC | Github]] \\  
-Puteți să descărcați direct arhiva accesând ​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​archive/​master.zip | acest link ]]+ 
 +Vous pouvez télécharger l'​archive directement en y accédant ​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​archive/​master.zip | ce lien ]]
  
  
-=== Informații laborator ​===+=== Informations de laboratoire ​===
  
-<note important> ​Sursele ce stau la baza fiecărui laborator se află în directorul: __/​Source/​Laboratoare/​Laborator**N**/​__,​ **N** reprezentând numărul laboratorului.+<note important> ​Les sources sous-jacentes à chaque laboratoire figurent dans le dossier: __/​Source/​Laboratoare/​Laborator**N**/​__,​ **N** représentant le numéro de laboratoire.
 </​note>​ </​note>​
  
-În cadrul laboratorului ​puteți încărca modele ​3D în cadrul scenei și cere afișarea scenei utilizând funcția+Dans le laboratoire ​1, vous pouvez télécharger des modèles ​3D sur la scène et demander l’affichage de la scène à l’aide de la fonction
 <code cpp> <code cpp>
 RenderMesh(Mesh * mesh, glm::vec3 position, glm::vec3 scale) RenderMesh(Mesh * mesh, glm::vec3 position, glm::vec3 scale)
 </​code>​ </​code>​
  
-Culorile pixelilor prin care se reprezintă scena sunt salvate într-un buffer, numit Framebuffer. ​Contextul definit oferă automat ​un astfel de buffer și este configurat să ruleze cu double-buffering+Les couleurs de pixel par lesquelles la scène est représentée sont stockées dans une mémoire tampon appelée ​Framebuffer. ​Le contexte défini fournit automatiquement ​un tel tampon et est configuré pour fonctionner avec une double ​mise en mémoire tampon.
  
-API-ul OpenGL ​utilizat în cadrul laboratorului:+L'API OpenGL ​utilisée dans le laboratoire:
 <code cpp> <code cpp>
-// defineste ​un spatiu ​de desenare in spatiul ferestrei ​de vizualizare +// définit ​un espace ​de dessin dans l'​espace ​de la fenêtre 
-// x, y reprezinta coordonatele coltului stanga jos +// x, y représente les coordonnées du coin inférieur gauche 
-// width, height ​reprezinta dimensiunea spatiului ​de desenare.+// width, height ​représente la taille ​de l'​espace de dessin.
 void glViewport(GLint x,  GLint y,  GLsizei width, ​ GLsizei height); ​ void glViewport(GLint x,  GLint y,  GLsizei width, ​ GLsizei height); ​
  
-// seteaza culoarea cu care va fi colorat tot ecranul ​la operatia ​de clear+// Définit ​la couleur avec laquelle tout l'​écran sera coloré lors de l'​effacement
 void glClearColor(float r, float g, float b, float a); void glClearColor(float r, float g, float b, float a);
  
- // ​implementeaza operatia de clear+ // ​met en œuvre l'​opération d'​effacement
 void glClear(GL_COLOR_BUFFER_BIT);​ void glClear(GL_COLOR_BUFFER_BIT);​
 </​code>​ </​code>​
  
 <note important>​ <note important>​
-Culorile în OpenGL ​sunt specificate ca float în intervalul ​0 - 1+Les couleurs dans OpenGL ​sont spécifiées en tant que float dans la plage 0 - 1
  
-Bufferul ​de culoare utilizat ​(atât în cadrul laboratorului dar și în mod uzual datorită limitărilor impuse ​de afișarea pe monitoreeste în format RGBA32. ​Fiecare componentă ​(redgreenblue, alpha) ​ocupă ​bițideci intervalul ​– 255. Astfel: \\  +Le tampon ​de couleur utilisé ​(à la fois dans le laboratoire et généralement en raison ​de limitations imposées par l'​affichage sur le moniteurest au format RGBA32. ​Chaque composant ​(rougevertbleu, alpha) ​occupe ​bitsdonc la plage 255. Ainsi: \\  
-  * roșu (255, 0, 0) este reprezentată ca (1, 0, 0) pe procesorul grafic\\  +  * le rouge (255, 0, 0) est représenté par (1, 0, 0) sur le processeur graphique\\  
-  * galben este (1, 1, 0) și tot așa+  * le jaune est (1, 1, 0) et ainsi de suite
  
 </​note>​ </​note>​
  
-== Control aplicație ​==+== Contrôle d'​application ​==
  
-Programul rulat oferă posibilitatea vizualizării scenei create prin intermediul unei camere predefinite.+Le programme en cours offre la possibilité de visualiser la scène créée par une caméra prédéfinie.
  
 <note tip> <note tip>
-Taste de control pentru cameră +Touches ​de contrôle pour la caméra 
-  * **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** - roatation de caméra
 </​note>​ </​note>​
  
  
-=== Cerințe laborator ​===+=== Exigences de laboratoire ​===
  
-  - Descărcați ​framework-ulcompilați și rulați proiectul +  - Téléchargez le framework, ​compilez et exécutez le projet 
-    * Trebuie să deschideți proiectul ​Framework_EGC.sln (folderul ​__/Visual Studio__) ​în Visual Studio ​2017 +    * Vous devez ouvrir le projet ​Framework_EGC.sln (dossier ​__/Visual Studio__) ​avec Visual Studio ​IDE 
-  - Încărcați ​un alt model 3D și randați-l în scenă la o poziție diferită față ​de cele 2 cuburi +  - Téléchargez ​un autre modèle ​3D et affichez-le dans une position différente ​de celle des deux cubes. 
-    * __/​Resources/​Models__ ​conține o serie de modele ​3D ce pot fi încărcate +    * __/​Resources/​Models__ ​contient un certain nombre ​de modèles ​3D pouvant être téléchargés 
-    * În ''​Laborator1::​Init()'' ​găsiți modul în care puteți să declarați ​(și încărcați) un nou obiect ​de tip ''​Mesh''​ +    * Dans ''​Laborator1::​Init()'' ​découvrez comment vous pouvez déclarer ​(et télécharger) un nouvel objet de type ''​Mesh''​ 
-  - La apăsarea unei taste să se schimbe culoarea ​de ștergere a ecranului +  - Appuyer sur une touche change la couleur ​de la gomme à l'​écran 
-  - La apăsarea unei taste să se schimbe obiectul afisat ​(renderla o poziție ​(să cicleze prin obiectede ex cube, teapot, sphere) +  - Lorsque vous appuyez sur une touche, modifiez l'​objet affiché ​(renduen une position ​(pour parcourir ​objetspar exemple un cube, une théière, une sphère - cube, teapot, sphere) 
-  - Să se miște prin spațiu ​un obiect oarecare la apăsarea tastelor ​W, A, S, D, EQ (pozitiv și negativ pe toate cele axe)+  - Pour déplacer ​un objet dans l'​espace en appuyant sur les touches ​W, A, S, D, E et Q (positif et négatif sur les axes)
  
  
-<note important>​Citiți cu atenție documentația evenimentelor de input din fișierul ​''​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​blob/​master/​Source/​Core/​Window/​InputController.h | InputController.h]]'' ​întrucât le veți utiliza în cadrul fiecărui laborator</​note>​+<note important>​Veuillez lire attentivement la documentation des événements saisis dans le fichier ​''​[[https://​github.com/​UPB-Graphics/​Framework-EGC/​blob/​master/​Source/​Core/​Window/​InputController.h | InputController.h]]'' ​comme vous les utiliserez dans chaque laboratoire</​note>​
  
  
egc/laboratoare/fr/01.1570064763.txt.gz · Last modified: 2019/10/03 04:06 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