Differences

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

Link to this comparison view

egc:setup-framework [2023/09/30 14:06]
andrei.lambru
egc:setup-framework [2024/09/30 14:24] (current)
andrei.lambru
Line 1: Line 1:
 ===== Setup framework de laborator ===== ===== Setup framework de laborator =====
  
-In cadrul laboratorui de la materia Elemente de grafica ​pe calculator, ​va vom pune la dispozitie ​un framework scris in C++, cu care veti lucra pana la finalul semestrului. ​In plus, puteti folosi acesta ​framework inclusiv pentru realizarea temelor, lucru pe care il si recomandam.+În cadrul laboratorui de la materia Elemente de grafică ​pe calculator, ​vă vom pune la dispoziție ​un framework scris în limbajul de programare ​C++, cu care veți lucra până ​la finalul semestrului. ​În plus, puteți utiliza acest framework inclusiv pentru realizarea temelor, lucru pe care îl și recomandăm.
  
-In aceasta pagina ​se va explica felul in care se instaleaza dependintele ​framework-ului ​si cum se realizeaza ​setup-ul pentru a face un build si a porni aplicatia rezultataIn particular, ​in aceasta pagina ​ne vom concentra ​in explicatii ​pentru sistemul de operare Windows. Framework-ul poate fi compilat ​si pe siteme de operare UNIX/​Linux ​si OSX. Mai multe detalii pentru utilizarea lui pe aceste sisteme de operare se pot gasi in fisierul ​README de pe [[https://​github.com/​UPB-Graphics/​gfx-framework | pagina]] proiectului de GitHub.+În această pagină, ​se va explica felul în care se instalează dependințele ​framework-ului ​și cum se realizează ​setup-ul pentru a compila fișierele sursă din acesta și a porni aplicația rezultatăÎn particular, ​în această pagină, ​ne vom concentra ​în explicații ​pentru sistemul de operare Windows. Framework-ul poate fi compilat ​și pe siteme de operare UNIX/​Linux ​și macOS. Mai multe detalii pentru utilizarea lui pe aceste sisteme de operare se pot găsi în fișierul ​README de pe [[https://​github.com/​UPB-Graphics/​gfx-framework | pagina]] proiectului de GitHub.
  
-==== Descarcarea ​framework-ului ====+==== Descărcarea ​framework-ului ====
  
-Framework-ul se gaseste ​pe GitHub ​si poate fi descarcat ​din linia de comandacum este prezentat ​mai jos. Dupa executia comenzii, se va crea un director denumit //​gfx-framework// ​ce va contine proiectul.+Framework-ul se găsește ​pe GitHub ​și poate fi descărcat direct ​din interfața [[https://​github.com/​UPB-Graphics/​gfx-framework | paginii]] proiectului. Din această interfațăprin intermediul butonului **Code**, vizibil în imaginea de mai jos, se selectează opțiunea **Download ZIP** pentru descărcarea unei arhive cu proiectulDupă dezarhivare, se va crea un director denumit //​gfx-framework-master//. Un link direct către opțiunea de descărcare a arhivei este [[https://​github.com/​UPB-Graphics/​gfx-framework/​archive/​refs/​heads/​master.zip | acesta]]. 
 + 
 +{{ :​egc:​laboratoare:​setup1.png?​600 |}} 
 + 
 +O altă opțiune pentru descărcarea proiectului,​ în situația în care sistemul de versionare git este instalat, este clonarea lui din CMD sau PowerShell, conform comenzii:
  
 <​code>​ <​code>​
 git clone https://​github.com/​UPB-Graphics/​gfx-framework git clone https://​github.com/​UPB-Graphics/​gfx-framework
 </​code>​ </​code>​
- 
-Alternativ, pentru descarcarea proiectului,​ se poate folosi direct interfata [[https://​github.com/​UPB-Graphics/​gfx-framework | paginii]] proiectului de pe GitHub. Din aceasta interfata, prin intermediul butonului **Code**, vizibil in figura de mai jos, se selecteaza optiunea **Download ZIP** pentru descarcarea unei arhive cu proiectul. Dupa dezarhivare,​ se va crea un director numit //​gfx-framework-master//​. Un link direct catre optiunea de descarcare a arhivei este [[https://​github.com/​UPB-Graphics/​gfx-framework/​archive/​refs/​heads/​master.zip | acesta]]. 
- 
-{{ :​egc:​laboratoare:​setup1.png?​600 |}} 
  
 ==== Instalarea mediului de dezvoltare Visual Studio ==== ==== Instalarea mediului de dezvoltare Visual Studio ====
  
-Pentru a compila framework-ul pe sistemul de operare Windows, este necesara ​instalarea mediului de dezvoltare Visual Studio, care vine cu un modul ce contine ​compilatorul MSVC++, obligatoriu pentru utilizarea framework-ului pe Windows.+Pentru a compila framework-ul pe sistemul de operare Windows, este necesară ​instalarea mediului de dezvoltare Visual Studio, care vine cu un modul ce conține ​compilatorul MSVC, obligatoriu pentru utilizarea framework-ului pe Windows.
  
 <note important>​ <note important>​
-Atentie! IDE-ul necesar este **Visual Studio** ​si **NU Visual Studio Code**!+Atenție! IDE-ul necesar este **Visual Studio** ​și **NU Visual Studio Code**!
 </​note>​ </​note>​
  
-Mediul de dezvoltare Visual Studio se poate descarca ​de pe [[https://​visualstudio.microsoft.com/​downloads/​ | pagina ​oficiala]]. Versiunea **Community** este suficienta ​pentru utilizarea de care vom avea nevoie pe tot parcursul semestrului.+Mediul de dezvoltare Visual Studio se poate descărca ​de pe [[https://​visualstudio.microsoft.com/​downloads/​ | pagina ​oficială]]. Versiunea **Community** este suficientă ​pentru utilizarea de care vom avea nevoie pe tot parcursul semestrului.
  
 <note tip> <note tip>
-Puteti ​folosi ​licenta pusa la dispozitie de universitate pentru versiunea **Enterpise** a mediului de dezvoltare Visual Studio. Pentru accesarea platformei ​in care se regasesc licenteleputeti ​intra pe platforma [[https://​my.upb.ro | MyUPB]], ​sectiunea ​**Servicii** -> **Licențe Microsoft (exceptând suita Office)** .+Puteți ​folosi ​licența pusă la dispozitie de universitate pentru versiunea **Enterprise** a mediului de dezvoltare Visual Studio. Pentru accesarea platformei ​în care se regăsesc licențeleputeți ​intra pe platforma [[https://​my.upb.ro | MyUPB]], ​secțiunea ​**Servicii** -> **Licențe Microsoft (exceptând suita Office)** .
 </​note>​ </​note>​
  
-Dupa descarcarea executabilului si rularea ​lui, se va instala de fapt un hub, denumit **Visual Studio Installer**,​ din care se permite instalarea unor diferite module. ​In figura ​de mai jos, se poate vedea interfata ​acestui hub. In loc de textul ​Modify, ​incadrat in chenarul ​rosu, la voi va fi textul Install. ​Dupa instalarea unui modul, ​optiunea ​se va transforma ​in Modify. Se selecteaza ​optiunea ​Install/​Modify.+După descarcărea fișierului de la adresa menționată mai sus și executarea ​lui, se va instala de fapt un hub, denumit **Visual Studio Installer**,​ din care se permite instalarea unor diferite module. ​În imaginea ​de mai jos, se poate vedea interfața ​acestui hub. În locul textului //Modify//încadrat în chenarul ​roșu, la voi va fi textul ​//Install//După instalarea unui modul, ​opțiunea ​se va transforma ​în Modify. Se selecteaza ​opțiunea **Install/​Modify**.
  
 {{ :​egc:​laboratoare:​setup2.png?​600 |}} {{ :​egc:​laboratoare:​setup2.png?​600 |}}
  
-Dupa selectarea ​optiunii, se va deschide un popup in interiorul ferestrei, ce va contine ​mai multe optiuni ​de module pentru instalare. ​In acest laborator, este necesar doar modulul **Desktop development with C++**. Se bifeaza ​acest modul, prin selectarea chenarului ​in care se gaseste ​modulul (Pasul 1 din figura ​de mai jos). Dupa bifarea lui, in partea ​dreapta ​vor aparea ​mai multe componente ce fac parte din acest modul. Componentele bifate vor fi instalate, cele fara bifa nu. Pot fi lasate ​cele selectate automat. Ultimul pas pentru instalarea mediului de dezvoltare este selectia ​butonului Install/​Modify din partea ​dreapta ​jos (Pasul 2 din figura urmatoare).+După selectarea ​opțiunii, se va deschide un popup în interiorul ferestrei, ce va conține ​mai multe opțiuni ​de module pentru instalare. ​În cadrul activităților practice de la această materie, este necesar doar modulul **Desktop development with C++**. Se bifează ​acest modul, prin selectarea chenarului ​în care se regăsește ​modulul (Pasul 1 din imaginea ​de mai jos). După bifarea lui, în partea ​dreaptă ​vor apărea ​mai multe componente ce fac parte din acest modul. Componentele bifate vor fi instalate, cele fără bifă nu. Pot fi lăsate ​cele selectate automat. Ultimul pas pentru instalarea mediului de dezvoltare este selecția ​butonului ​**Install/​Modify** din partea ​dreaptă ​jos (Pasul 2 din imaginea următoare).
  
 {{ :​egc:​laboratoare:​setup3.png?​600 |}} {{ :​egc:​laboratoare:​setup3.png?​600 |}}
Line 41: Line 41:
 ==== Utilitarul CMake ==== ==== Utilitarul CMake ====
  
-Codul sursa al framework-ului de laborator, ​descarcat ​cu 2 pasi anteriori, nu contine ​un proiect, ​in general un fisier ​special (Makefile ​in UNIX sau .sln pentru Visual Studio), pentru un anumit mediu de dezvoltare. Codul framework-ului de laborator permite ​sa fie utilizat ​in orice astfel de mediu, motiv pentru care ofera un set de fisiere ​de configurare pentru generarea ​oricarui ​tip de proiect. Pentru a utiliza acest set de configurare,​ este necesar un utilitar extern numit CMake. Acesta poate fi descarcat din [[https://​cmake.org/​download/​ | pagina ​oficiala]].+Codul sursă din framework-ul de laborator, ​descărcat ​cu 2 pași anteriori, nu conține ​un proiect, ​reprezentat în general ​de un fișier ​special (Makefile ​în UNIX sau .sln pentru Visual Studio), pentru un anumit mediu de dezvoltare. Codul framework-ului de laborator permite ​să fie utilizat ​în orice astfel de mediu, motiv pentru care oferă ​un set de fișiere ​de configurare pentru generarea ​oricărui ​tip de proiect. Pentru a utiliza acest set de fișiere ​de configurare,​ este necesar un utilitar extern numit CMake. Acesta poate fi descărcat de pe [[https://​cmake.org/​download/​ | pagina ​oficială]].
  
-Dupa instalare, se poate porni utilitarul ​si se va deschide o fereastra ​cu interfata ​din figura ​de mai jos. Din aceasta interfata ​se genereaza ​proiectul pentru ​IDE-ul ​Visual Studio. Pentru acest proces trebuie sa urmam cativa pasi+După instalare, se poate porni utilitarul ​și se va deschide o fereastră ​cu interfața ​din imaginea ​de mai jos. Din această interfață, ​se generează ​proiectul pentru ​mediul de dezvoltare ​Visual Studio. Pentru acest procestrebuie sa urmăm câțiva pași
-  - Se selecteaza ​calea unde se gaseste ​codul sursa al framework-ului prin completarea ​campului ​text **Where is the source code** sau prin selectarea butonului **Browse Source** (Pasul 1 din figura ​de mai jos), care deschide o fereastra ​de navigare spre directorul respectiv. Aici trebuie specificat exact directorul dezarhivat cu 2 pasi anteriori: //​gfx-framework-master// sau cel clonat: //​gfx-framework//, nu alte directoare interne ale acestuia. +  - Se selectează ​calea unde se găsește ​codul sursă ​al framework-ului prin completarea ​câmpului ​text **Where is the source code** sau prin selectarea butonului **Browse Source...** (Pasul 1 din imaginea ​de mai jos), care deschide o fereastră ​de navigare spre directorul respectiv. Aici trebuie specificat exact directorul dezarhivat cu 2 pasi anteriori: //​gfx-framework-master//,​ nu alte directoare interne ale acestuia. ​{{ :​egc:​laboratoare:​setup4.png?​400 |}} 
-  - Se specifica ​o cale unde se vor plasa fisierele rezultate in urma compilarii codului sursa in campul ​text **Where to build the binaries**. Recomandarea ​noastra ​este sa copiati ​calea la care se gaseste ​framework-ul de laborator, 2 campuri ​mai sus, si sa adaugati in coada un director nou. De exemplu, ​daca framework-ul se gaseste ​la calea //​E:/​gfx-framework///,​ la acest pas specificati ​calea //​E:/​gfx-framework/​build//​. Directorul //build// va fi creat automat de catre utilitar, ​in situatia in care nu exista+  - Se specifică ​o cale unde se vor plasa fișierele proiectului generat de utilitarul CMake, în câmpul ​text **Where to build the binaries**. Recomandarea ​noastră ​este să copiați ​calea la care se găsește ​framework-ul de laborator, 2 câmpuri ​mai sus, și să adăugați în coadă ​un director nou. De exemplu, ​dacă framework-ul se găsește ​la calea //​E:/​gfx-framework-master///, la acest pas specificați ​calea //​E:/​gfx-framework-master/build//. Directorul //build// va fi creat automat de către ​utilitar, ​în situația în care nu există
-  - Se selecteaza optiunea ​**Configure** (Pasul 3 din figura ​de mai jos). {{ :​egc:​laboratoare:​setup4.png?​400 |}} +  - Se selectează opțiunea ​**Configure** (Pasul 3 din imaginea ​de mai sus). 
-  - (OptionalIn situatia in care nu exista ​directorul ​in care sa se plaseze ​fisierele ​rezultate in urma compilarii, va aparea ​fereastra ​de confirma ​crearii ​acestui director. ​Confirmati ​crearea. +  - (OpționalÎn situația în care nu există ​directorul ​în care să se plaseze ​fișierele ​rezultate in urma compilării, va apărea ​fereastră ​de confirmare ​creării ​acestui director. ​Confirmați ​crearea.{{ :​egc:​laboratoare:​setup9.png?​400 |}} 
-  - Va aparea ​alta fereastra in care se pot specifica ​diferiti ​parametrii pentru mediul de dezvoltare. Se pot lasa cei deja completati si se selecteaza optiunea ​**Finish**. {{ :​egc:​laboratoare:​setup5.png?​400 |}} +  - Va apărea ​altă fereastră, în care se pot specifica ​diferiți ​parametrii pentru mediul de dezvoltare. Se pot lăsa cei deja completați și se selectează opțiunea ​**Finish**. {{ :​egc:​laboratoare:​setup5.png?​400 |}} 
-  - Apar parametrii de configurare pentru proiect. ​Acestia ​sunt marcati ​cu rosu implicit, nu inseamna ca ceva a mers rau. Se selecteaza optiunea ​**Generate**. {{ :​egc:​laboratoare:​setup6.png?​400 |}}+  - Vor apărea ​parametrii de configurare pentru proiect. ​Aceștia ​sunt marcați ​cu roșu implicit, nu înseamnă că ceva a mers rău. Se selectează opțiunea ​**Generate**. {{ :​egc:​laboratoare:​setup6.png?​400 |}}
  
-Fisierele ​proiectului au fost creat si plasate ​in directorul ​selectat. Pentru a deschide proiectul, sunt mai multe optiuni. Cea mai rapidain acest moment, este selectarea ​optiunii ​**Open Project** din interfata ​utilitarului CMake. O alta optiune ​este sa mergem ​in directorul ​in care am specificat ​sa plaseze ​fisierele ​rezultate, de ex: //​E:/​gfx-framework/​build// ​si sa deschidem, cu dublu-click, ​fisierul ​**GFXFramework.sln**.+Fișierele ​proiectului au fost create și plasate ​în directorul ​specificat. Pentru a deschide proiectul, sunt mai multe opțiuni. Cea mai rapidăîn acest moment, este selectarea ​opțiunii ​**Open Project** din interfața ​utilitarului CMake. O altă opțiune ​este să mergem ​în directorul ​în care am specificat ​să se plaseze ​fișierele ​rezultate, de exemplu: //​E:/​gfx-framework/​build// ​și să deschidem, cu dublu-click, ​fișierul ​**GFXFramework.sln**.
  
 ==== Mediul de dezvoltare Visual Studio ==== ==== Mediul de dezvoltare Visual Studio ====
  
-Dupa deschiderea ​proiectului, ar trebui ​sa se deschida ​fereastra ​cu interfata similara ​cu cea din figura ​de mai jos. Pentru a compila proiectul se poate selecta ​optiunea ​**Local Windows Debugger** sau tasta **F5**.+După deschiderea ​fișierului, ar trebui ​să apară ​fereastră ​cu interfața similară ​cu cea din imaginea ​de mai jos. Pentru a compila ​rapid proiectul ​și să ne asigurăm că totul merge bine, se poate selecta ​opțiunea ​**Local Windows Debugger** sau se poate apăsa direct ​tasta **F5**. În acest pas, se compilează toate fișierele sursă ale proiectului și din acest motiv, procesul poate dura câteva zeci de secunde. În decursul laboratoarelor,​ acest proces va ști să compileze doar fișierele sursă modificate, care în general vor fi 2, și va dura mult mai puțin.
  
 {{ :​egc:​laboratoare:​setup7.png?​600 |}} {{ :​egc:​laboratoare:​setup7.png?​600 |}}
  
-In situatia in care totul a mers bine, se vor deschide ​doua ferestre noi: +În situația în care totul a mers bine, se vor deschide ​două ferestre noi: 
-  * O fereastra ​ce contine informatii ​text de debug, ​denumita ​generic //consola// +  * O fereastră ​ce conține informații ​text de debug, ​denumită ​generic //consolă//. 
-  * O fereastra ​cu continut ​3D, similar cu cea vizibila in figura ​de mai jos+  * O fereastră ​cu conținut ​3D, similar cu cea vizibilă în imaginea ​de mai jos.
  
 {{ :​egc:​laboratoare:​setup8.png?​600 |}} {{ :​egc:​laboratoare:​setup8.png?​600 |}}
  
 <note tip> <note tip>
-Yeey!!! ​Sunteti ​gata pentru primul laborator <3 !+Yeey!!! ​Sunteți ​gata pentru primul laborator <3 !
 </​note>​ </​note>​
egc/setup-framework.1696072014.txt.gz · Last modified: 2023/09/30 14:06 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