Czy ktoś wie, jak utworzyć aplikację OpenGL ES, która nie wykorzystuje pełnych wymiarów ekranu iPhone'a jako powierzchni rysunkowej?Określanie widoku w trybie pełnoekranowym OpenGL ES
Wszystko widziałem do tej pory ma EAGLView (lub cokolwiek) rysunek do 0, 0, 320, 480.
Chciałbym mieć mój EAGLView 100, 100, 100, 100. czy to możliwe? Wydaje mi się, że wystarczy tylko zmienić wywołanie glViewport(), ale nie jestem pewien ... czy glViewport po prostu ustawił prostokąt przycinający do widoku OpenGL ES w trybie pełnoekranowym? Czy rzeczywiście określa miejsce pochodzenia (0, 0)?
To bardzo mylące, zwłaszcza gdy próbujesz myśleć o tym w kategoriach UIViews, którymi jestem. Chciałbym przekazać CGRect do mojej funkcji initialize, aby ustawić glViewport i wszystko inne w tym prostokącie.
Dzięki!
To jest wspaniałe - dzięki. Nadal jestem zdezorientowany, ale dlaczego to zrobiłeś: glViewport (0, 0, backingWidth, backingHeight); glOrthof (0,0f, backingWidth, 0,0f, backingHeight, 1000,0f, -1000,0f); Podczas tworzenia kopii zapasowej szerokość i wysokość są ustawione na 320 x 480, a powierzchnia rysowania (EAGLView) nie jest już pełnoekranowa. Jaki jest związek między glViewport() i CGRect z EAGLView? Czy jest to całkowicie arbitralne? Również w wywołaniu glOrtho(), czy nie chcesz po prostu przejść od 0 do maksymalnej szerokości w EAGLView, a nie od 0 do 320? Dzięki za pomoc! – yozzozo
BackingWidth i backingHeight EAGLView zostanie ustawiony na podstawie rozmiaru CGRect używanego podczas inicjowania EAGLView. W tym przykładzie oba będą mieć 30. –