Opengl: как обрабатывать много текстур / изображений? - PullRequest
2 голосов
/ 27 мая 2011

Общее количество opengl noob здесь.

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

Я могу опубликовать код, если это поможет, но его много.Я надеялся на более общие рекомендации и ориентацию на эффективное использование текстур.

1 Ответ

2 голосов
/ 27 мая 2011

Звучит так, будто вы просто хотите настроить координаты текстуры.

Координаты текстуры задаются в диапазоне от 0 до 1.

Чтобы нарисовать всю текстуру на квад, вы можете сделать что-тонапример:

glTexCoord2f(0.0f, 0.0f);
glVertex3f(...)
glTexCoord2f(1.0f, 0.0f);
glVertex3f(...)
glTexCoord2f(1.0f, 1.0f);
glVertex3f(...)
glTexCoord2f(0.0f, 1.0f);
glVertex3f(...)

Но чтобы нарисовать только одну четверть текстуры на одном и том же кваде: (Обратите внимание на различные значения для glTexCoord)

glTexCoord2f(0.0f, 0.0f);
glVertex3f(...)
glTexCoord2f(0.5f, 0.0f);
glVertex3f(...)
glTexCoord2f(0.5f, 0.5f);
glVertex3f(...)
glTexCoord2f(0.0f, 0.5f);
glVertex3f(...)

Посмотрите учебник по текстурированию OpenGL ввсемогущий гугл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...