Неправильное текстурирование с Mipmapping в OpenGL

если я использую этот вид картирования

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_NEAREST);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST);
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, data);

моя текстура работает нормально, но я хочу избавиться от эффекта блеска пикселей, как это

glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR);
gluBuild2DMipmaps(GL_TEXTURE_2D, GL_RGBA, width, height, GL_RGB, GL_UNSIGNED_BYTE, data);

что я вижу это:
введите описание изображения здесь

Я пробовал с разными размерами (1024×1024, 512×512, 256×256, 128×128, 64×64) с .jpg и .bmp, и эффект всегда был примерно таким.

-1

Решение

Предполагая, что ваша первая версия без mipmaps работает и что вы используете одни и те же входные данные в обеих версиях: Параметр format gluBuild2DMipmaps неправильно. Кажется, у вас есть данные RGBA, но скажите OpenGL, что это RGB.

3

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]