Zobrazit předchozí téma :: Zobrazit následující téma |
Autor |
Zpráva |
Peta

Založen: 28. 07. 2007 Příspěvky: 154 Bydliště: V prvnim patre hned vedle koupelny.
|
Zaslal: 29. červenec 2009, 21:07:39 Předmět: |
|
|
Pro inspiraci, mohlo by to jít takhle: (snad jsem se někde neupsal)
kód: |
const float WIDTH = 1024.0f; // sirka obrazovky pro ktere je gui pevne navrzeno
const float HEIGHT = 768.0f; // vyska obrazovky pro ktere je gui pevne navrzeno
float screenWidth = 800.0f; // aktualne pouzite rozliseni
float screenHeight = 600.0f;
void drawGUI() {
float positionX = 400.0f * (screenWidth / WIDTH);
// vypocet pozice casti gui relativne vuci aktualnimu rozliseni.
// Hodnota 400 je defaultni pozice pri pouziti defaultniho rozliseni pro
// ktere je GUI puvodne navzreno
// prenasobenim pomerem aktualniho a defaultniho gui ziskas souradnici v aktualnim rozliseni
float positionY = 250.0f * (screenHeight / HEIGHT);
// to same pro druhou souradnici
...
drawGuiElement(tlacitko, positionX, positionY);
...
}
|
_________________ Když je Ti smutno, otoč se tváří ke slunci a všechny stíny padnou za Tebe. |
|
Návrat nahoru |
|
 |
JohnyDog

Založen: 17. 08. 2007 Příspěvky: 66
|
Zaslal: 29. červenec 2009, 22:51:21 Předmět: |
|
|
Eosie napsal: |
Quiark napsal: |
eo: Freetype fonty jsou asi vektorový, takže zvětšování/zmenšování by mělo v klidu žejo. |
Jo, jsou vektorový (nebo křivkový), ale neviděl jsem ještě implementaci v OpenGL, která by používala přímo ty křívky nebo jejich aproximaci pomocí vertexů (free knihovny na to neexistují snad ani). |
FTGL umi jak polygony,outline i 3d text (extrude polygonu) _________________
 |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 30. červenec 2009, 11:15:30 Předmět: |
|
|
Dik borci 10 minut sem premejslel nad tim kodem co mi posilal peta a uz to mam udelany takze na to dopisu nejakou fci a bude. Dik este ze todle forum je bez nej bych byl v riti  |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 31. červenec 2009, 16:54:57 Předmět: |
|
|
tak mam zase problem kdyz se vsechno tvarilo ze je to vklidu tak sem prisel na to ze ten tutor z nehe na freetype fonty ma jinak osu nejspis Y
protoze kdyz nastavim text na 0,0 tak je v levem rohu dole a ne ve vrchnim nalevo. Nebo ma mys jinak orientovany osy? prisel sem na to pomoci mysi
jebal sem se s tim celej den a neprisel se na to proc tak me prosim nekamenujte ze se ptam jak totalni lama uz su v koncich
dik Játro |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 31. červenec 2009, 17:14:37 Předmět: |
|
|
Jo. OpenGL má počátek souřadnic vlevo dole, ale to se dá přenastavit prostou úpravou matice pro ortografickou projekci (glOrtho). NeHe FreeType kód je tomu bohužel přizpůsobenej (a ten kód je pěkně zprasenej BTW). _________________ AMD Open Source Graphics Driver Developer
Naposledy upravil Marek dne 31. červenec 2009, 17:15:03, celkově upraveno 1 krát |
|
Návrat nahoru |
|
 |
Mem

Založen: 28. 07. 2007 Příspěvky: 1959 Bydliště: Olomouc
|
Zaslal: 31. červenec 2009, 17:14:54 Předmět: |
|
|
V OpenGL je pocatek souradneho systemu ve viewportu vlevo dole, zatimco ve tve okenni aplikaci kde ctes souradnice mysi vlevo nahore. Takze ti jen staci odecist vysku okna a dostanes to do souladu _________________
 |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 31. červenec 2009, 17:16:46 Předmět: |
|
|
ok borci dival sem se na to ftgl ale je to takovz chaoticky skoro zadnej popis a tak .... v sourcich co tam sou se kokot vyzna tak nevim co jinho pouzit |
|
Návrat nahoru |
|
 |
Marek

Založen: 28. 07. 2007 Příspěvky: 1782 Bydliště: Velká Morava
|
Zaslal: 31. červenec 2009, 17:44:36 Předmět: |
|
|
Klidně zůstaň u toho, co máš. Vždyť přece změna počátku souřadnic a překlopení os je jednoduchá transformace.
Řekněme, že máš počátek vlevo nahoře, rozlišení viewportu w*h a výška textu je s. Souřadnice (x,y) do toho FreeType kódu nastavíš takto: (x, h-s-y). Pokud ti to nebude vycházet, zkus jen h-y. _________________ AMD Open Source Graphics Driver Developer |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 31. červenec 2009, 19:28:45 Předmět: |
|
|
jo ja vim jenom vsude ctu jak stoji nehe zahovno tak sem si rikal ze urcite bude problem u nich  |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 31. červenec 2009, 19:33:47 Předmět: |
|
|
dekuji eosie panbuh ti to zaplat v pixelech. ale dybych nepotreboval delat jinak ty coll boxy okolo menu tak bych na to neprisel ze to muze bejt jinak |
|
Návrat nahoru |
|
 |
Mem

Založen: 28. 07. 2007 Příspěvky: 1959 Bydliště: Olomouc
|
Zaslal: 31. červenec 2009, 21:20:39 Předmět: |
|
|
jatro.m: Ja ti to psal hned taky (Takze ti jen staci odecist vysku okna a dostanes to do souladu), no co uz... _________________
 |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 1. srpen 2009, 10:19:24 Předmět: |
|
|
jo ja sem te prehlid
dik i tobe  |
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 1. srpen 2009, 10:37:36 Předmět: |
|
|
ok uz to chodi podle mych predstav jenom by me zajimalo k cemu je tam
glTranslatef(x,y-h*i,0); to *i, kdyz bez nej to funguje a s nim ne
kód: |
for(int i=0;i<lines.size();i++) {
........
} |
|
|
Návrat nahoru |
|
 |
jatro.m
Založen: 29. 07. 2009 Příspěvky: 89
|
Zaslal: 1. srpen 2009, 14:17:41 Předmět: |
|
|
jeste bych se chtel zeptat jaky idelani rozliseni nastavit tomu GUI? Je to jedno? Ted tam mam 800x600 ale nejspis to bude jedno ne? |
|
Návrat nahoru |
|
 |
Casio
Založen: 13. 01. 2009 Příspěvky: 23
|
Zaslal: 1. srpen 2009, 16:23:19 Předmět: |
|
|
Myslím si, že ten for je tam na vykreslení více řádků textu. To *i je na posunutí řádku vynásobením výškou textu h.
Idealní rozlišení GUI je stejný jako rozlišení plochy(1:1). Jestli to tvoje GUI 800x600 vypadá dobře i v jiných rozlišeních, tak to neřeš. Menu není to co hráče zajímá. |
|
Návrat nahoru |
|
 |
|