Domirien @up: W wersji GLES1 glOrtho i podać w parametrach między innymi rozdzielczość, w GLES2 i GLM glm::ortho() i przekazać uniform w obu przypadkach parametr takie same i przykładowo w Twoim przypadku *orto(0, 800, 480, 0, -1, 1) powinno załatwiać sprawę (wtedy górny lewy róg to punkt 0,0 a dolny prawy 800, 480 i wyświetli na ekranie wszystko co w osi Z (głębokości) jest na ekranie pomiędzy -1 a 1). W wypadku macierzy widoku to gluLookAt lub glm::lookat, ale nie jest to niezbędne w 2d glOrthox(0, 800, 480, 0, -1, 1); glOrthox(0, 480, 800, 0, -1, 1); Użyłem tej funkcji w projekcie z GLES 1.0 i również nic się nie zmieniło.
skoti @up: tak dla pewności przed użyciem ustawiłeś MatrixMode na GL_PROJECTION i załadowałeś macierz jednostkową (glLoadIdentity)? Druga sprawa to jeśli dokładnie tak jak napisałeś to mamy zwycięzce - złe parametry podałeś. Użyj glOrthof zamiast opcji z "x". Opcja "f" przyjmuje dane float, a opcja "x" dane GLfixed czyli musiałbyś wszystko przesunąć bitowo o 16 (czyli 480<<16 jest poprawną wartością opcji fixed, a nie 480).
Domirien Miałem na GL_MODELVIEW dlatego nie widziałem zmiany. Zmieniłem na GL_PROJECTION i na glOrthof to nie widzę swojej tekstury. >🙁 glMatrixMode(GL_PROJECTION); glLoadIdentity(); glOrthof(0, 480 << 16, 800 << 16, 0, -1, 1); Ponad to po tym zabiegu nie mogę użyć glMatrixMode(GL_MODELVIEW); gdyż wyskakuje błąd: GL_STACK_UNDERFLOW Nie mogę wchodzić do glPushMatrix z projekcją. @edit Tej funkcji oczywiście używam zaraz po inicjacji grafiki.
skoti glOrthof(0, 480 << 16, 800 << 16, 0, -1, 1); Ehhh to przesunięcie bitowe to było do Orthox (i był tylko przykład z 480, ale -1 czy 1 też tego z OrthoX by wymagały)... Orthof podajesz normalne liczby. glOrthof(0.0f, 480.0f, 800.0f, 16.0f, 0.0f, -1.0f, 1.0f);
Domirien glOrthof(0.0f, 460.f, 0.0f, 800.f, 0.0f, 1.0f); Ponad to dla glVertexPointer używam od teraz normalne liczby, a nie -1.f~1.f
skoti @up: No tak - jeśli chciałbyś -1 do 1 to glOrthof(-1.0f, 1.0f, -1.0f, 1.0f, 0.0f, 1.0f); Jednak wtedy wysokość i szerokość będzie rzutowana tak samo, a przy różniącej się w pixelach wysokości i szerokości (dla jednego -1 do 1 to -230 do 230, a dla drugiego -400 do 400) będzie Ci się skalować w jednej osi czego chciałeś uniknąć ;p.