Использование текстур OpenGL размером больше окна / дисплея
У меня возникли проблемы с использованием текстур, которые больше, чем окно OpenGL или размер дисплея, в качестве целей рендеринга без отображения.
Каково решение этой проблемы?
1 ответ:
Есть простое решение.
Предполагая, что ваши (не отображаемые) текстуры являются1024x1024 , и вы ограничены окном/дисплеем256x256 .
unsigned int WIN_WIDTH = 256; unsigned int WIN_HEIGHT = WIN_WIDTH; unsigned int TEX_WIDTH = 1024; unsigned int TEX_HEIGHT = TEX_WIDTH;
Используйте размер окна Для создания окна OpenGL:
glutInitWindowSize(WIN_WIDTH, WIN_HEIGHT);
Но, используйте размер текстуры для всего остального:
glViewport(0, 0, TEX_WIDTH, TEX_HEIGHT); gluOrtho2D(0.0, TEX_WIDTH, 0.0, TEX_HEIGHT); glTexCoord2i(TEX_WIDTH, TEX_HEIGHT);