Использование текстур OpenGL большего размера, чем размер окна / дисплея

StackOverflow https://stackoverflow.com/questions/14310

  •  08-06-2019
  •  | 
  •  

Вопрос

У меня возникают проблемы с использованием текстур, которые больше, чем окно OpenGL или размер дисплея, в качестве целей рендеринга без отображения.
Каково решение этой проблемы?

Это было полезно?

Решение

Есть простое решение.

Предполагая, что ваши (не отображаемые) текстуры являются 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);
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top