C++, OpenGL - Аномалия с текстурой

Написал код текстуры на языке OpenGL! Когда использую режим фильтряции текстуры GL_NEAREST то показываеться текстура в пиксельном виде а когда использую режим GL_LINEAR то показваеться текстура в размытом виде. Аномалия происходит с режимом GL_LINEAR, потому что когда я выставляю этот режим то появляються какие-то линий по бокам текстуры!

Картина: введите сюда описание изображения

Стрелки указывают на аномалий!

Часть кода:

glTexImage2D(GL_TEXTURE_2D, 0, mode, texture->w, texture->h, 
                0, mode, GL_UNSIGNED_BYTE, texture->pixels);

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);

glBindTexture(GL_TEXTURE_2D, TextureID);

Как исправить такую ощибку?

Видеокарту тоже проверял, но с ней всё в порядке!


Ответы (1 шт):

Автор решения: user7860670

Это размытие получается из-за свертки текстурных координат. На краю при вычислении усредненного значения используется цвет пикселя с противоположной стороны. Это регулируется атрибутами GL_TEXTURE_WRAP_*.

введите сюда описание изображения

→ Ссылка