This shows you the differences between two versions of the page.
egc:laboratoare:bonusrendertext [2019/11/25 18:18] victor.asavei [Redarea textului] |
egc:laboratoare:bonusrendertext [2019/12/03 07:56] (current) alexandru.gradinaru |
||
---|---|---|---|
Line 1: | Line 1: | ||
- | ===== Laborator bonus ===== | + | ===== Resurse bonus ===== |
==== Redare text în OpenGL ==== | ==== Redare text în OpenGL ==== | ||
Line 18: | Line 18: | ||
Cea de-a doua variantă (și cea care este folosită și pentru implementare în continuarea laboratorului) este ca pentru fiecare caracter/simbol să se creeze câte o textură individuală ce va avea dimensiunea (lătime/înălțime) caracterului/simbolului. Această metodă permite o mai bună flexibilitate în manipularea fiecărui caracter/simbol în parte pentru poziționarea/scalarea acestuia. | Cea de-a doua variantă (și cea care este folosită și pentru implementare în continuarea laboratorului) este ca pentru fiecare caracter/simbol să se creeze câte o textură individuală ce va avea dimensiunea (lătime/înălțime) caracterului/simbolului. Această metodă permite o mai bună flexibilitate în manipularea fiecărui caracter/simbol în parte pentru poziționarea/scalarea acestuia. | ||
- | Pentru a obtine textura pentru fiecare caracter/simbol necesar dintr-un font dat, a fost folosită biblioteca //FreeType//. | + | Pentru a obtine imaginea (bitmapul) pentru fiecare caracter/simbol necesar dintr-un font dat, a fost folosită biblioteca //FreeType//. |
==== Utilizare FreeType ==== | ==== Utilizare FreeType ==== | ||
Line 87: | Line 87: | ||
* Vertex shader | * Vertex shader | ||
<code glsl> | <code glsl> | ||
- | layout(location = 0) in vec4 vertex; // <vec2 pos, vec2 tex> | + | layout(location = 0) in vec4 vertex; // <x,y,u,v> |
out vec2 TexCoords; | out vec2 TexCoords; | ||
Line 218: | Line 218: | ||
==== Utilizare ==== | ==== Utilizare ==== | ||
- | - Descărcați [[https://github.com/UPB-Graphics/Framework-EGC/archive/withrendertext.zip|framework-ul de laborator ce are implementată redarea textului]] | + | - Descărcați [[https://github.com/UPB-Graphics/Framework-EGC/archive/withrendertext.zip|framework-ul de laborator]] ce are implementat redarea textului |
- Rulați exemplul de redare a textului: clasa ''Laborator_BonusTextRenderer'' | - Rulați exemplul de redare a textului: clasa ''Laborator_BonusTextRenderer'' | ||
- Dacă doriți să vedeți în detaliu implementarea redării textului examinați: | - Dacă doriți să vedeți în detaliu implementarea redării textului examinați: |