Elikkäs, tarkoitus olisi piirustaa OpenGL:llä 2D:tä, tekstuuriquadeja ja tekstiä, käyttäen tuttua koordinaatistoa, jossa x kasvaa oikealle ja y alas, yksikköinä pikselit. glOrtho(0, w, h, 0, -1.0, 1.0)
, jossa w ja h ovat ruudun koko, toimii, mutta kaikki piirtyy ylösalaisin. glOrtho(0, w, 0, h, -1.0, 1.0)
taas piirtää kaiken oikein päin, mutta y akseli kasvaa ylöspäin. Tietty tuohonkin voisi tottua, mutta hankaloittaa hieman.
Quadit piirrän
glBegin(GL_QUADS); glTexCoord2f(0.0f, 0.0f); glVertex3f(x, y, 0); glTexCoord2f(1.0f, 0.0f); glVertex3f(x + w, y, 0); glTexCoord2f(1.0f, 1.0f); glVertex3f(x + w, y + h, 0); glTexCoord2f(0.0f, 1.0f); glVertex3f(x, y + h, 0); glEnd();
w ja h ovat tekstuurin koko. Tekstiä ulostelen OGLFT:llä.
Onhan sitä mahdollisuuksia.. esim vaihtaa 0 ja 1 paikkoja glTexCoord2f kanssa, tai skaalaamalla Y akseli glScalef() arvolla -1.
Ja lopuks, jos käytät ortho tilaa voit käyttää glVertex3f sijaan glVertex2f tai jopa glVertex2i kun yleensä pyritään pikselitarkkuuteen siinä.
glScale() toimi hienosti, kun vielä piirtovaiheessa muutti y-arvot vastaluvuikseen. Kiitoksia.
Aihe on jo aika vanha, joten et voi enää vastata siihen.