Мне нужно сопоставить текстуру 12x6 с определенным полигоном 12x6.Проблема в том, что текстуры должны иметь степень двух размеров (поэтому я должен использовать текстуру 16x8, в противном случае opengl изменяет размер текстуры для меня, вызывая пустые пятна на границах моего многоугольника).Я читал здесь несколько постов, касающихся этой проблемы, но большинство ссылались на расширение GL_APPLE_texture_2D_limited_npot
, которое я скорее не использую.
Я попытался поместить свое изображение 12x6 в верхний левый угол текстуры 16x8 и использовать следующую текстурукоординаты: 0.0, 0.0, 0.75, 0.75
, но я не могу повторить текстуру, используя GL_REPEAT
(используется для многоугольника другого размера, например 186x6)
Я также попытался использовать параметр GL_TEXTURE_CROP_RECT_OES
следующим образом:
int cropRect[] = {0.0f, 0.0f, 0.75f, 0.75f};
glTexParameteriv(GL_TEXTURE_2D, GL_TEXTURE_CROP_RECT_OES, cropRect);
Но, похоже, это никак не повлияло.
Кто-нибудь сталкивался с этой проблемой и преуспел в ее решении?
Спасибо