2011-07-28 2 views
4

OpenGL 1.3 не поддерживает NPOT текстуры. Все изображения, которые мне предоставляются, не соответствуют этой спецификации, поскольку я занимаюсь 2D и рисованием спрайтов.Сила двух текстур в OpenGL

Есть ли предустановленное обходное решение для этого?

Если нет, то каковы наилучшие варианты кодирования вокруг этого? Прокладка с прозрачными пикселями? Разделение на суб-текстуры?

+0

Вы проверили, поддерживает ли ваша графическая карта [ARB_texture_rectangle] (http://www.opengl.org/registry/specs/ARB/texture_rectangle.txt)? Это позволяет НПО. – jweyrich

+0

Я где-то читал, что это не перекрестная платформа, поэтому я не могу это использовать. – VolatileStorm

+4

Расширения @VolatileStorm GL_ARB не привязаны к определенной платформе, я использовал их в Windows, Linux и OS X, и они отлично работают. –

ответ

3

Лучший способ справиться с этим - переделать текстуру. Если вы откатываете свой собственный, простой билинейный фильтр должен быть достаточным для изменения размера до следующей мощности. В противном случае существует множество инфраструктур фильтрации изображений.

Разделение не рекомендуется, если включена фильтрация.

Вы можете использовать прокладку, если вам не нужна текстурная упаковка. Однако цвет пикселей, которые вы используете для него, зависит от режима зажима для текстуры и цвета рамки, если вы используете это.

+0

Я все еще очень новичок в openGL и не знаю, как переделать текстуру, и я боролся с поисковой системой. Любая помощь по этому поводу? Благодаря! – VolatileStorm

+0

http://en.wikipedia.org/wiki/Bilinear_interpolation - больше информации об этом будет отдельным вопросом здесь. – ltjax

Смежные вопросы