This shows you the differences between two versions of the page.
|
egc:laboratoare:bonusrendertext [2019/11/25 18:18] victor.asavei [Utilizare] |
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; | ||