




Вы можете изменить размер текстуры так, чтобы она является была степенью двойки (наклоните текстуру так, чтобы при наложении на объект она выглядела правильно).
Я знаю три способа сделать это -
GL_ARB_texture_non_power_of_two. Вероятно, лучше всего этого избежать, поскольку похоже, что это расширение, специфичное для Xorg.Вариант 2 отличный - предотвращает потерю верности
ARB_texture_rectangle - это, вероятно, то, что вы ищете. Он позволяет выполнять привязку к GL_TEXTURE_RECTANGLE_ARB вместо GL_TEXTURE_2D, и вы можете загружать изображение с размерами, не равными степени двойки. Имейте в виду, что координаты вашей текстуры будут находиться в диапазоне от [0..w] x [0..h] вместо [0..1] x [0..1].
Если GL_EXT_texture_rectangle истинно, тогда используйте GL_TEXTURE_RECTANGLE_EXT для первого параметра в вызовах glEnable () и GLBindTexture ().
У меня сложилось впечатление, что текстуры всегда являются степенью двойки, потому что оборудование в любом случае будет использовать одинаковое количество ресурсов. Но я мог ошибаться.